返回市场
萨拉赫-MCP

萨拉赫-MCP

作者:yusufk2 星标更新:2025-06-05

项目介绍

Salaah MCP (穆斯林社区祈祷时间)

一个使用islamic_times库计算伊斯兰祈祷时间的FastAPI和MCP服务。

截图

依赖项

该项目依赖于以下主要依赖项:

安装

  1. 克隆仓库:
git clone https://github.com/yourusername/salaah-mcp.git
cd salaah-mcp
  1. 安装uvv和依赖项:
pip install uv
uv install

使用方法

uv run run.py

API将在以下地址可用:

API端点

计算祈祷时间

POST /prayer_times

根据给定的位置和日期计算祈祷时间。

请求示例:

{
  "latitude": -26.1528113,
  "longitude": 28.0049996,
  "method": "EGYPTIAN"
}

响应示例:

{
  "method": "埃及测绘总局(埃及)",
  "fajr": "2025-06-01T05:19:11.373053+02:00",
  "sunrise": "2025-06-01T06:47:44.369263+02:00",
  "zuhr": "2025-06-01T12:05:43.358460+02:00",
  "asr": "2025-06-01T15:23:52.560113+02:00",
  "sunset": "2025-06-01T17:23:52.560113+02:00",
  "maghrib": "2025-06-01T17:23:52.560113+02:00",
  "isha": "2025-06-01T18:43:09.341111+02:00",
  "midnight": "2025-06-02T00:06:02.228763+02:00"
}

获取朝向麦加的方向

POST /qiblah

从任意位置获取朝向麦加的方向和距离。

{
  "latitude": -26.1528113,
  "longitude": 28.0049996,
  "date": "2025-06-01T00:00:00Z"
}

响应示例:

{
  "distance_km": 5452,
  "distance_mi": 3388,
  "direction": "NNE",
  "angle_decimal": 14.647,
  "angle_dms": "014° 38′ 49.84″"
}

获取太阳信息

POST /sun

获取详细的太阳位置和时间信息。

响应示例:

{
  "sunrise": "2025-06-01T06:47:40",
  "transit": "2025-06-01T12:05:33",
  "sunset": "2025-06-01T17:23:36",
  "apparent_altitude": -42.659,
  "apparent_azimuth": 276.796,
  "distance_au": 1.014106,
  "apparent_declination": 22.166,
  "apparent_right_ascension": "04h 39m 56.17s",
  "greenwich_hour_angle": 99.904,
  "local_hour_angle": 127.951
}

获取月亮信息

POST /moon

获取详细的月亮位置和相位信息。

响应示例:

{
  "moonrise": "2025-06-01T11:39:22",
  "transit": "2025-06-01T16:25:15",
  "moonset": "2025-06-01T22:54:19",
  "illumination": 36.38,
  "apparent_altitude": 25.803,
  "azimuth": 305.203,
  "distance_km": 388391,
  "parallax": 0.941,
  "topocentric_declination": 15.892,
  "topocentric_right_ascension": "09h 52m 04.77s",
  "greenwich_hour_angle": 21.198,
  "local_hour_angle": 49.245
}

计算新月可见性

POST /moon/visibility

使用Yallop标准计算新月可见性。

{
  "latitude": -26.1528113,
  "longitude": 28.0049996,
  "date": "2025-05-27T00:00:00Z",
  "days": 3,
  "criterion": 1
}

响应示例:

[
  {
    "criterion": "Yallop",
    "date": "2025-05-27T15:28:52",
    "value": -0.788,
    "description": "F: 不可见;低于Danjon极限。"
  },
  {
    "criterion": "Yallop",
    "date": "2025-05-28T15:56:44",
    "value": 0.958,
    "description": "A: 易见。"
  }
]

可用计算方法

  • ISNA: 北美伊斯兰协会
  • MWL: 世界穆斯林联盟
  • UMM_AL_QURA: 麦加乌姆尔·阿尔·库拉大学
  • EGYPTIAN: 埃及测绘总局
  • KARACHI: 卡拉奇伊斯兰科学大学
  • TEHRAN: 德黑兰大学地球物理研究所
  • JAFARI: 莱瓦研究学院,科姆什叶派伊特纳阿沙里

Claude Desktop集成

要与Claude Desktop一起使用祈祷时间服务:

  1. 创建配置文件:
{
  "mcpServers": {
    "Salaah Times": {
      "command": "/Users/yusuf/.local/bin/mcp-proxy",
      "env": {
        "SSE_URL": "http://localhost:8000/mcp"
      }
    }
  }
}
  1. 将其保存为claude_desktop_config.json在你的Claude Desktop配置目录中。

  2. 确保MCP服务正在运行:

uv run run.py
  1. 启动Claude Desktop,现在你可以询问关于祈祷时间的问题,如:
  • “今天Asr祈祷是什么时候?”
  • “明天约翰内斯堡的Fajr是什么时候?”
  • “显示伦敦的所有祈祷时间。”

AI将使用MCP服务根据你的查询计算准确的祈祷时间。