Are you the author? Sign in to claim
A FastAPI and MCP service providing Islamic prayer times calculations
A FastAPI and MCP service providing Islamic prayer times calculations using the islamic_times library.

This project relies on the following main dependencies:
git clone https://github.com/yourusername/salaah-mcp.git
cd salaah-mcp
pip install uv
uv install
uv run run.py
The API will be available at:
POST /prayer_times
Calculate prayer times for a given location and date.
Example request:
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"method": "EGYPTIAN"
}
Example response:
{
"method": "Egyptian General Authority of Survey (Egypt)",
"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
Get Qiblah direction and distance from any location.
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"date": "2025-06-01T00:00:00Z"
}
Example response:
{
"distance_km": 5452,
"distance_mi": 3388,
"direction": "NNE",
"angle_decimal": 14.647,
"angle_dms": "014° 38′ 49.84″"
}
POST /sun
Get detailed sun position and timing information.
Example response:
{
"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
Get detailed moon position and phase information.
Example response:
{
"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
Calculate new moon visibility using Yallop's criterion.
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"date": "2025-05-27T00:00:00Z",
"days": 3,
"criterion": 1
}
Example response:
[
{
"criterion": "Yallop",
"date": "2025-05-27T15:28:52",
"value": -0.788,
"description": "F: Not visible; below the Danjon limit."
},
{
"criterion": "Yallop",
"date": "2025-05-28T15:56:44",
"value": 0.958,
"description": "A: Easily visible."
}
]
To use the prayer times service with Claude Desktop:
{
"mcpServers": {
"Salaah Times": {
"command": "/Users/yusuf/.local/bin/mcp-proxy",
"env": {
"SSE_URL": "http://localhost:8000/mcp"
}
}
}
}
Save this as claude_desktop_config.json in your Claude Desktop configuration directory.
Make sure the MCP service is running:
uv run run.py
The AI will use the MCP service to calculate accurate prayer times based on your queries.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows