Salaah MCP
Serviço FastAPI e MCP que fornece horários de oração islâmicos e outros cálculos úteis.
Documentação
Salaah MCP (Horários de Oração da Comunidade Muçulmana)
Um serviço FastAPI e MCP que fornece cálculos de horários de oração islâmicos usando a biblioteca islamic_times.

Dependências
Este projeto depende das seguintes dependências principais:
- FastAPI: Framework web para construção de APIs
- FastAPI MCP: Protocolo de Controle de Modelos
- islamic_times: Motor de cálculo principal para horários de oração
- Pydantic: Validação de dados
Instalação
- Clone o repositório:
git clone https://github.com/yourusername/salaah-mcp.git
cd salaah-mcp
- Instale o uvv e as dependências:
pip install uv
uv install
Uso
uv run run.py
A API estará disponível em:
- Desenvolvimento: http://localhost:8000
- Produção: http://localhost:8000 (configurável via variável de ambiente UVV_PORT)
Endpoints da API
Calcular Horários de Oração
POST /prayer_times
Calcule os horários de oração para um local e data específicos.
Exemplo de solicitação:
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"method": "EGYPTIAN"
}
Exemplo de resposta:
{
"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"
}
Obter Direção da Qibla
POST /qiblah
Obtenha a direção e a distância da Qibla a partir de qualquer local.
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"date": "2025-06-01T00:00:00Z"
}
Exemplo de resposta:
{
"distance_km": 5452,
"distance_mi": 3388,
"direction": "NNE",
"angle_decimal": 14.647,
"angle_dms": "014° 38′ 49.84″"
}
Obter Informações do Sol
POST /sun
Obtenha informações detalhadas sobre a posição e os horários do sol.
Exemplo de resposta:
{
"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
}
Obter Informações da Lua
POST /moon
Obtenha informações detalhadas sobre a posição e as fases da lua.
Exemplo de resposta:
{
"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
}
Calcular Visibilidade da Lua
POST /moon/visibility
Calcule a visibilidade da lua nova usando o critério de Yallop.
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"date": "2025-05-27T00:00:00Z",
"days": 3,
"criterion": 1
}
Exemplo de resposta:
[
{
"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."
}
]
Métodos de Cálculo Disponíveis
- ISNA: Sociedade Islâmica da América do Norte
- MWL: Liga Mundial Muçulmana
- UMM_AL_QURA: Universidade Umm al-Qura, Makkah
- EGYPTIAN: Autoridade Geral Egípcia de Levantamento
- KARACHI: Universidade de Ciências Islâmicas, Karachi
- TEHRAN: Instituto de Geofísica, Universidade de Teerã
- JAFARI: Instituto de Pesquisa Shia Ithna Ashari, Leva, Qom
Integração com Claude Desktop
Para usar o serviço de horários de oração com o Claude Desktop:
- Crie um arquivo de configuração:
{
"mcpServers": {
"Salaah Times": {
"command": "/Users/yusuf/.local/bin/mcp-proxy",
"env": {
"SSE_URL": "http://localhost:8000/mcp"
}
}
}
}
-
Salve-o como
claude_desktop_config.jsonno diretório de configuração do Claude Desktop. -
Certifique-se de que o serviço MCP esteja em execução:
uv run run.py
- Inicie o Claude Desktop e agora você pode fazer perguntas sobre horários de oração, como:
- "Que horas é a oração de Asr hoje?"
- "Quando é Fajr amanhã em Joanesburgo?"
- "Mostre-me todos os horários de oração para Londres"
A IA usará o serviço MCP para calcular horários de oração precisos com base nas suas consultas.