Azan-MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Azan-MCPWhat are today's prayer times in Makkah?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Azan-MCP
Azan-MCP is an open-source Model Context Protocol (MCP) server that brings a comprehensive suite of Islamic utilities directly into AI assistants such as Claude Desktop. It enables any LLM client that supports MCP to answer Islamic questions with accuracy, proper sourcing, and full awareness of the user's location, timezone, and madhab.
What it does
Prayer Times — Calculates the five daily prayers (Fajr, Dhuhr, Asr, Maghrib, Isha) plus Sunrise for any location on Earth using the full Meeus solar algorithm. Supports 10 internationally recognised calculation methods and both Hanafi and Shafi madhab for Asr. Also computes Qibla direction, monthly calendars, and Sunnah prayer windows (Duha, Awwabin, Tahajjud).
Azan & Iqama — Returns the full Azan text in Arabic and transliteration (with the Fajr Tatwidh variant), calculates Iqama times based on configurable per-prayer offsets, and provides a complete daily Azan schedule.
Islamic Calendar — Converts dates between Gregorian and Hijri calendars, lists named Islamic events with their Gregorian equivalents, and identifies recommended voluntary fasting days (Mondays/Thursdays, Ayyam al-Beed, 6 days of Shawwal, Day of Arafah).
Du'a & Dhikr — Provides sourced morning and evening adhkar, du'a collections across 15 topics (travel, eating, anxiety, protection, and more), and du'as for every position in salah. Every entry is traced to its hadith reference with a confidence rating.
Zakat & Islamic Calculators — Calculates Zakat due on cash, gold, silver, and trade goods; determines Nisab thresholds; computes Suhoor/Iftar times for Ramadan date ranges; and distributes inheritance according to Faraid (Quran 4:11-12) using exact fractional arithmetic with Aul handling.
99 Names of Allah — The complete Asma ul-Husna with Arabic text, transliteration, meaning, and explanation for all 99 names, fully searchable.

Design principles
Principle | How it is applied |
Accuracy | Prayer engine implements the full Meeus astronomical algorithm (±2 min vs IslamicFinder). Hijri conversion uses the |
Authenticity | Every Du'a and Dhikr entry carries a hadith source reference and a confidence level ( |
Transparency | All tool responses include a |
Discoverability | Tools like |
Safety | Zakat, Faraid, and calendar tools include a "consult a qualified scholar" disclaimer in every response. |
Zero friction | Installable with a single |
Tech Stack
Built with Python 3.12+ and FastMCP (the official Anthropic MCP SDK). The prayer time engine is vendored directly from the Meeus algorithm using Python's standard library only (math, datetime, zoneinfo) — no stale third-party astronomical dependency. The Hijri calendar uses the actively maintained hijridate package.
Folder Structure
src/azan_mcp/
├── server.py # FastMCP entry point — 34 tools across 6 modules
├── config.py # UserConfig dataclass (location, timezone, method, madhab)
├── prayer_engine.py # Vendored Meeus solar algorithm
├── tools/ # One module per epic: prayer_times, azan, calendar,
│ # dua_dhikr, calculators, asma
└── data/ # adhkar.json · duas.json · asma_ul_husna.jsonSupported Calculation Methods
ID | Name | Fajr° | Isha |
| Umm al-Qura, Makkah | 18.5 | 90 min after Maghrib |
| Muslim World League | 18 | 17° |
| ISNA | 15 | 15° |
| Egyptian General Authority | 19.5 | 17.5° |
| Univ. of Islamic Sciences, Karachi | 18 | 18° |
| Univ. of Tehran | 17.7 | 14° |
| Kuwait | 18 | 17.5° |
| UOIF (France) | 12 | 12° |
| Ithna Ashari | 16 | 14° |
| Muhammadiyah | 20 | 18° |
Related MCP server: Zmanim MCP Server
Tools
# | Tool | Category | Description |
1 |
| Core | Active config: location, timezone, calculation method, madhab |
2 |
| Core | All 10 method IDs with Fajr/Isha angles |
3 |
| Prayer Times | All 5 prayers + Sunrise for a date and location |
4 |
| Prayer Times | Name and time of the next upcoming prayer |
5 |
| Prayer Times | Minutes until next prayer + human-readable countdown |
6 |
| Prayer Times | Bearing in degrees + 16-point cardinal toward Makkah |
7 |
| Prayer Times | Full month prayer schedule (28–31 days) |
8 |
| Prayer Times | Duha, Awwabin, and Tahajjud time windows |
9 |
| Azan & Iqama | Full Azan text in Arabic and/or transliteration (Fajr variant included) |
10 |
| Azan & Iqama | Iqama time = adhan + configured offset |
11 |
| Azan & Iqama | Update iqama delay (minutes after adhan) per prayer |
12 |
| Azan & Iqama | All 5 adhan + iqama times for today |
13 |
| Islamic Calendar | Today's or a given date's Hijri equivalent |
14 |
| Islamic Calendar | Gregorian → Hijri conversion |
15 |
| Islamic Calendar | Hijri → Gregorian conversion |
16 |
| Islamic Calendar | Named Islamic events for a Hijri year/month with Gregorian dates |
17 |
| Islamic Calendar | Gregorian start and end dates of Ramadan for a given year |
18 |
| Islamic Calendar | Eid al-Fitr and Eid al-Adha dates for a given year |
19 |
| Islamic Calendar | Mondays/Thursdays, Ayyam al-Beed, 6 Shawwal, Day of Arafah |
20 |
| Du'a & Dhikr | Complete morning adhkar with Arabic, transliteration, source |
21 |
| Du'a & Dhikr | Complete evening adhkar with Arabic, transliteration, source |
22 |
| Du'a & Dhikr | All available topic slugs (travel, eating, anxiety, …) |
23 |
| Du'a & Dhikr | All du'as for a given topic |
24 |
| Du'a & Dhikr | Full-text search across Arabic, transliteration, translation |
25 |
| Du'a & Dhikr | Recommended repetition count and virtues for a dhikr |
26 |
| Du'a & Dhikr | Du'as for ruku, sujood, tashahhud, and after salah |
27 |
| Zakat & Calculators | 2.5% Zakat due on cash, gold, silver, or trade goods above nisab |
28 |
| Zakat & Calculators | Nisab threshold = 85g × gold price per gram |
29 |
| Zakat & Calculators | Nisab threshold = 595g × silver price per gram |
30 |
| Zakat & Calculators | Suhoor (Fajr) and Iftar (Maghrib) for a date range (max 31 days) |
31 |
| Zakat & Calculators | Faraid fixed shares with Aul handling (Quran 4:11-12) |
32 |
| 99 Names | All 99 Names of Allah with Arabic, transliteration, and meaning |
33 |
| 99 Names | Look up a name by number (1–99) or transliteration |
34 |
| 99 Names | Search names by meaning, transliteration, or Arabic text |
Quickstart
uvx azan-mcpOr with a config file:
AZAN_CONFIG=/path/to/azan-config.json uvx azan-mcpClaude Desktop Setup
Add to your claude_desktop_config.json:
{
"mcpServers": {
"azan": {
"command": "uvx",
"args": ["azan-mcp"],
"env": {
"AZAN_CONFIG": "/path/to/your/azan-config.json"
}
}
}
}Configuration
Create an azan-config.json file (see examples/azan-config.example.json):
{
"latitude": 21.3891,
"longitude": 39.8579,
"timezone": "Asia/Riyadh",
"calculation_method": "umm_al_qura",
"madhab": "shafi",
"iqama_offsets": {
"fajr": 20, "dhuhr": 10, "asr": 10, "maghrib": 5, "isha": 15
}
}Development
uv sync
uv run pytest tests/ -v --ignore=tests/test_integration.pyLicense
This project is licensed under the MIT License — see the LICENSE file for details.
MIT License
Copyright (c) 2026 Azan-MCP Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.Available Tools
34 toolscalculate_fasting_timesB
Return Suhoor end (Fajr) and Iftar start (Maghrib) for each day in a date range (max 31 days). Dates in ISO 8601 format.
Inputs: end_date (required), start_date (required), latitude, longitude.
calculate_gold_nisabA
Return the Zakat Nisab threshold based on 85 grams of gold at the given price.
Inputs: gold_price_per_gram (required), currency.
calculate_inheritance_basicB
Calculate basic Faraid (Islamic inheritance) fixed shares. spouse: 'husband', 'wife', or None. Returns share fractions and amounts per heir.
Inputs: estate_value (required), sons, father, mother, +3 more.
calculate_silver_nisabA
Return the Zakat Nisab threshold based on 595 grams of silver at the given price.
Inputs: silver_price_per_gram (required), currency.
calculate_zakatC
Calculate Zakat due on wealth. wealth_type: cash, gold, silver, trade_goods. Provide gold or silver price per gram to determine nisab.
Inputs: amount (required), wealth_type (required), currency, gold_price_per_gram, +1 more.
convert_gregorian_to_hijriA
Convert a Gregorian calendar date to its Hijri equivalent.
Inputs: day (required), year (required), month (required).
convert_hijri_to_gregorianB
Convert a Hijri calendar date to its Gregorian equivalent.
Inputs: hijri_day (required), hijri_year (required), hijri_month (required).
get_asma_ul_husnaA
Return all 99 Names of Allah (Asma ul-Husna) with Arabic, transliteration, meaning, and explanation.
Inputs: no named parameters.
get_azan_textA
Return the full Azan text. prayer: fajr, dhuhr, asr, maghrib, isha. language: arabic, transliteration, or both.
Inputs: prayer (required), language.
get_counter_recommendationA
Return the recommended repetition count and virtues for a specific dhikr by its ID.
Inputs: dhikr_id (required).
get_daily_azan_scheduleA
Return today's complete Azan schedule: adhan time and iqama time for all 5 daily prayers.
Inputs: no named parameters.
get_dua_by_topicA
Return all du'a entries for a given topic. Use list_dua_topics to see available topics (e.g. travel, eating, anxiety, sleeping).
Inputs: topic (required).
get_eid_datesA
Return the Gregorian dates of Eid al-Fitr and Eid al-Adha for a given year.
Inputs: gregorian_year (required).
get_evening_adhkarA
Return the complete set of evening adhkar (Adhkar al-Masa) with Arabic, transliteration, translation, source, and recommended count.
Inputs: no named parameters.
get_hijri_dateB
Return today's (or a given ISO date's) equivalent in the Islamic Hijri calendar.
Inputs: date.
get_iqama_timeB
Return the Iqama time (adhan + configured offset) for a given prayer. prayer: fajr, dhuhr, asr, maghrib, isha.
Inputs: prayer (required), date.
get_islamic_eventsA
Return named Islamic events for a Hijri year. Optionally filter by hijri_month (1–12).
Inputs: hijri_year (required), hijri_month.
get_monthly_prayer_calendarB
Return a full month's prayer schedule. month is 1-12.
Inputs: year (required), month (required), latitude, longitude.
get_morning_adhkarA
Return the complete set of morning adhkar (Adhkar al-Sabah) with Arabic, transliteration, translation, source, and recommended count.
Inputs: no named parameters.
get_name_of_allahA
Look up a specific Name of Allah by number (1–99) or transliteration (e.g. 'Ar-Rahman' or 'rahman').
Inputs: identifier (required).
get_next_prayerC
Return the name and time of the next upcoming prayer from right now.
Inputs: latitude, longitude.
get_prayer_duaA
Return du'as for a specific position in salah. position: ruku, sujood, tashahhud, after_salah.
Inputs: position (required).
get_prayer_timesB
Return all 5 daily prayer times plus Sunrise for a given date and location. Date is ISO 8601 (YYYY-MM-DD); defaults to today. Location defaults to configured coordinates.
Inputs: date, latitude, longitude.
get_qibla_directionA
Return the Qibla bearing in degrees and 16-point cardinal direction toward the Kaaba in Makkah.
Inputs: latitude, longitude.
get_ramadan_datesB
Return the Gregorian start and end dates of Ramadan for a given year.
Inputs: gregorian_year (required).
get_server_infoA
Return the currently active server configuration: location, timezone, calculation method, madhab, and iqama offsets.
Inputs: no named parameters.
get_sunnah_prayer_timesA
Return Duha (Ishraq) and Tahajjud time windows for a given date.
Inputs: date, latitude, longitude.
get_time_until_next_prayerC
Return minutes until the next prayer and a human-readable countdown string (e.g. '2 hours 15 minutes').
Inputs: latitude, longitude.
get_voluntary_fasting_datesA
Return all recommended voluntary fasting days in a given Gregorian month: Mondays/Thursdays, Ayyam al-Beed, Day of Arafah, 6 days of Shawwal.
Inputs: gregorian_year (required), gregorian_month (required).
list_calculation_methodsA
List all 10 supported prayer time calculation methods with their Fajr/Isha angles.
Inputs: no named parameters.
list_dua_topicsA
List all available du'a topic slugs that can be used with get_dua_by_topic.
Inputs: no named parameters.
search_asma_ul_husnaA
Search the 99 Names of Allah by meaning, transliteration, or Arabic text.
Inputs: query (required).
search_duaA
Search across all du'a and adhkar by Arabic text, transliteration, translation, or topic. Returns matched entries with which fields matched.
Inputs: query (required), limit.
set_iqama_offsetA
Update the Iqama offset (minutes after adhan) for a prayer. Change is in-memory only and resets on server restart.
Inputs: prayer (required), offset_minutes (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
34 tool updates
v0.1.0- First observed
calculate_fasting_times - First observed
calculate_gold_nisab - First observed
calculate_inheritance_basic - First observed
calculate_silver_nisab - First observed
calculate_zakat - First observed
convert_gregorian_to_hijri - First observed
convert_hijri_to_gregorian - First observed
get_asma_ul_husna - First observed
get_azan_text - First observed
get_counter_recommendation - First observed
get_daily_azan_schedule - First observed
get_dua_by_topic - First observed
get_eid_dates - First observed
get_evening_adhkar - First observed
get_hijri_date - First observed
get_iqama_time - First observed
get_islamic_events - First observed
get_monthly_prayer_calendar - First observed
get_morning_adhkar - First observed
get_name_of_allah - First observed
get_next_prayer - First observed
get_prayer_dua - First observed
get_prayer_times - First observed
get_qibla_direction - First observed
get_ramadan_dates - First observed
get_server_info - First observed
get_sunnah_prayer_times - First observed
get_time_until_next_prayer - First observed
get_voluntary_fasting_dates - First observed
list_calculation_methods - First observed
list_dua_topics - First observed
search_asma_ul_husna - First observed
search_dua - First observed
set_iqama_offset
TDQS
Scored across 34 tools
Multiple tools have unclear boundaries: get_hijri_date and convert_gregorian_to_hijri do nearly the same thing, get_daily_azan_schedule overlaps with get_prayer_times and get_iqama_time, and get_islamic_events overlaps with get_ramadan_dates/get_eid_dates. Agents may struggle to pick the right tool despite descriptions.
Most tools follow a consistent verb_noun pattern (get_, calculate_, convert_, list_, search_, set_). Minor deviations like get_name_of_allah vs. get_asma_ul_husna and the vague get_counter_recommendation prevent a perfect score.
34 tools is well above the 25+ threshold for 'too many'. While the domain is broad (prayer times, adhkar, dua, zakat, inheritance, etc.), this would be better split into focused servers to reduce cognitive load and selection errors.
The tool surface covers an impressively wide range of Islamic utilities: prayer times, qibla, azan, adhkar, dua, hijri calendar, zakat, inheritance, and names of Allah. Minor gaps remain, such as no config setters for location or calculation method beyond iqama offset, and no Zakat al-Fitr calculation.
Related MCP Connectors
Quran MCP server for translation, tafsir, mutashabihat, recitation playlists, and prayer times.
Curated Islamic MCP: Quran (Arabic + Pickthall), 440 du'as, 99 Names, crisis-aware.
Islamic prayer times & calendar MCP (Aladhan API). Keyless.
Production-ready Muslim prayer reminder MCP with astronomical precision and theological disclosure.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides access to Malaysia prayer time data through Claude Desktop, enabling users to retrieve prayer times for specific zones, list available prayer zones, and check current prayer time status.MIT
- AlicenseAqualityDmaintenanceA comprehensive MCP server for calculating Jewish prayer times (zmanim) using the python-zmanim library, supporting multiple halachic opinions and global locations.626 PyPI2MIT
- AlicenseBqualityDmaintenanceAzan-MCP is an open-source Model Context Protocol (MCP) server that brings a comprehensive suite of Islamic utilities directly into AI assistants such as Claude Desktop.34382MIT
- AlicenseAqualityCmaintenanceMCP server providing Malaysian/global prayer times (JAKIM + Aladhan fallback), nearest mosque/surau finder, and Islamic calendar events.41MIT