Aladhan Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Aladhan Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
A Model Context Protocol (MCP) server that provides comprehensive tools for accessing Islamic prayer times and calendar data through the Aladhan API. Built with FastMCP for modern MCP compatibility and type safety.
Installation • Quick Start • Features • Documentation
</div>
pip install aladhan-mcp
python -m aladhan_mcp.serverYou can install directly from PyPI:
pip install aladhan-mcpOr, if you want the latest development version:
git clone https://github.com/rawsab/aladhan-MCP-server.git
cd aladhan-mcp
pip install -e ".[dev]"# Test that all tools register correctly
python -c "from aladhan_mcp.server import register_all_tools; register_all_tools(); print('All tools registered successfully!')"
# Run tests
pytest -vThe server can be used with any MCP client. Configure your MCP client to use:
{
"mcpServers": {
"aladhan": {
"command": "python",
"args": ["-m", "aladhan_mcp.server"]
}
}
}Note: This server uses FastMCP with type annotations for tool schemas, ensuring compatibility with modern MCP clients.
# Run the server directly
python -m aladhan_mcp.server
# Test that tools register correctly
python -c "from aladhan_mcp.server import register_all_tools; register_all_tools(); print('All tools registered!')"# Run all tests
pytest
# Run with verbose output
pytest -vThe server supports 24+ prayer calculation methods worldwide:
| Method | Name | Region |
|---|---|---|
| 0 | Shia Ithna-Ashari | Shia |
| 1 | University of Islamic Sciences, Karachi | Pakistan |
| 2 | Islamic Society of North America (ISNA) | North America |
| 3 | Muslim World League | Worldwide |
| 4 | Umm Al-Qura University, Makkah | Saudi Arabia |
| 5 | Egyptian General Authority of Survey | Egypt |
| 6 | Institute of Geophysics, University of Tehran | Iran |
| 7 | Gulf Region | Gulf Countries |
| 8 | Kuwait | Kuwait |
| 9 | Qatar | Qatar |
| 10 | Majlis Ugama Islam Singapura | Singapore |
| 11 | Union Organization islamic de France | France |
| 12 | Diyanet İşleri Başkanlığı | Turkey |
| 13 | Spiritual Administration of Muslims of Russia | Russia |
| 14 | Moonsighting Committee Worldwide | Worldwide |
| 15 | Dubai (unofficial) | Dubai |
| 16-23 | University of Tehran variants | Iran |
| 99 | Custom | Custom |
# Get prayer times for London
get_prayer_times_by_city(
city="London",
country="United Kingdom",
date="15-01-2025",
method=3, # Muslim World League
school=0 # Shafi
)
# Get prayer times for New York coordinates
get_prayer_times(
lat=40.7128,
lon=-74.0060,
date="15-01-2025",
method=3, # Muslim World League
school=0 # Shafi
)
# Get next prayer time
get_next_prayer(
lat=40.7128,
lon=-74.0060,
method=3
)# Get qibla direction from New York
get_qibla(
lat=40.7128,
lon=-74.0060
)# Convert Gregorian to Hijri
convert_gregorian_to_hijri(date="2025-01-15")
# Convert Hijri to Gregorian
convert_hijri_to_gregorian(date="15-07-1446")
# List all calculation methods
list_calculation_methods()# Get Gregorian month calendar by coordinates
get_monthly_calendar(
year=2025,
month=1,
lat=40.7128,
lon=-74.0060,
method=3, # Muslim World League
school=0 # Shafi
)
# Get Gregorian month calendar by city
get_monthly_calendar_by_city(
year=2025,
month=1,
city="London",
country="United Kingdom",
method=3, # Muslim World League
school=0 # Shafi
)
# Get Hijri month calendar by coordinates
get_hijri_calendar(
year=1446,
month=7,
lat=40.7128,
lon=-74.0060,
method=3, # Muslim World League
school=0 # Shafi
)
# Get Hijri month calendar by city
get_hijri_calendar_by_city(
year=1446,
month=7,
city="London",
country="United Kingdom",
method=3, # Muslim World League
school=0 # Shafi
)You can install development dependencies directly from PyPI:
pip install "aladhan-mcp[dev]"Or clone the repository if you want to work on the source:
# Clone the repository
git clone https://github.com/rawsab/aladhan-MCP-server.git
cd aladhan-mcp
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"# Run all tests
pytest
# Run with coverage
pytest --cov=aladhan_mcp
# Run specific test file
pytest tests/test_prayer_times.py
# Run with verbose output
pytest -v# Format code
black aladhan_mcp/
# Sort imports
isort aladhan_mcp/
# Lint code
flake8 aladhan_mcp/
# Type checking
mypy aladhan_mcp/# Test tool registration
python -c "from aladhan_mcp.server import register_all_tools; register_all_tools(); print('All tools registered!')"
# Start server
python -m aladhan_mcp.serverThe server uses the Aladhan API for all prayer time calculations. All tools return structured JSON responses with comprehensive prayer time data.
All tools use Python type annotations for parameter validation:
None)str (JSON-formatted response)Tools will raise ValueError for invalid parameters or missing required fields. The server handles these gracefully and returns appropriate error messages.
All tools return JSON-formatted strings containing:
We welcome contributions! Please follow these steps:
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)black and isort)This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please:
<div align="center">
Made with ❤️ by [Rawsab Said](https://github.com/rawsab)
</div>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.