LabscoMCP early access ↗
yusufkMCP SERVER · OFFICIAL PROJECT

Salaah MCP

Islamic prayer times, qiblah direction and moon-visibility calculations for any location and date, across seven calculation methods.

by yusufk ↗Time, Dates & Calculation✓ Official

LABSCO SUMMARY

Method selection is why this beats a generic lookup.

Prayer times differ by calculation convention, and communities do not agree — a server that hardcodes one is wrong for most people. Offering all seven and naming which one produced a result is the correct behaviour. The moon-visibility endpoint is the unusual extra: Yallop scoring with a readable verdict is what you want when the question is whether the crescent will actually be seen, not merely when it rises.

What it is

A FastAPI service exposed over MCP that computes Islamic prayer times using the islamic_times library. Beyond the five prayers it returns sunrise, sunset and midnight, the qiblah bearing and distance, detailed sun and moon positions, and new-moon visibility scored by Yallop's criterion.

What you get

  • /prayer_times — fajr, sunrise, zuhr, asr, sunset, maghrib, isha and midnight for a latitude, longitude and method, returned as timezone-aware timestamps
  • Seven calculation methods to choose between: ISNA, MWL, UMM_AL_QURA, EGYPTIAN, KARACHI, TEHRAN and JAFARI
  • /qiblah — direction and distance to the Kaaba, given as a compass point, decimal angle, degrees-minutes-seconds, and distance in both km and miles
  • /sun — sunrise, transit, sunset plus apparent altitude, azimuth, declination, right ascension and hour angles
  • /moon — moonrise, transit, moonset, illumination percentage, altitude, azimuth and distance
  • /moon/visibility — new-moon visibility over a number of days, each entry scored with a value and a plain-language verdict such as easily visible or below the Danjon limit

Requirements

No account and no key — the calculations are local. Python 3.12+ and uv (pip install uv); uv run run.py installs the dependencies and starts it. The API listens on http://localhost:8000 and the port is configurable through the UVV_PORT environment variable. Claude Desktop reaches it through mcp-proxy with SSE_URL pointed at http://localhost:8000/mcp. The project is salaah-mcp (version 0.1.0) and builds on FastAPI, FastAPI MCP, Pydantic and islamic_times.

Setup effort

Build from source — git clone https://github.com/yusufk/salaah-mcp.git