Malaysia Prayer Time MCP Server

Proporciona horarios precisos de oración islámica para ubicaciones en toda Malasia utilizando la API de waktusolat.app.

Documentación

MseeP.ai Security Assessment Badge

Malaysia Prayer Time MCP Server

Características • Instalación • Configuración • Uso • Referencia de API • Solución de problemas • Contribuciones • Licencia


Resumen

Malaysia Prayer Time MCP Server proporciona horarios de oración islámica precisos para ubicaciones en toda Malasia. Este servidor implementa el Protocolo de Contexto de Modelo (MCP) para integrarse sin problemas con Claude Desktop, entregando horarios de oración en tiempo real directamente a través de tu asistente de IA.

El servidor utiliza la API de waktusolat.app para recuperar horarios de oración verificados por JAKIM y admite búsqueda por ciudad, código de zona o coordenadas.

Características

✅ Horarios basados en ubicación: Obtén horarios de oración para cualquier ciudad o distrito en Malasia
✅ Soporte de coordenadas: Encuentra horarios de oración usando coordenadas de latitud y longitud
✅ Acceso por código de zona: Consulta directamente usando códigos de zona JAKIM (p. ej., SGR03 para Kuala Lumpur)
✅ Horario de oración completo: Recupera todos los horarios de oración diarios (Fajr, Amanecer, Dhuhr, Asr, Maghrib, Isha)
✅ Estado de oración actual: Determina el horario de oración actual y el siguiente
✅ Manejo robusto de errores: Manejo elegante de problemas de red y cambios en la API
✅ Integración perfecta con Claude: Integración limpia con Claude Desktop mediante MCP

Instalación

Requisitos previos

  • Python 3.10 o superior
  • Claude Desktop (última versión)
  • pip o uv gestor de paquetes

Opción 1: Instalación desde GitHub

# Clone the repository
git clone https://github.com/yourusername/mcp-server-malaysia-prayer-time.git
cd mcp-server-malaysia-prayer-time

# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

Opción 2: Usando uv (Recomendado)

# Clone the repository
git clone https://github.com/yourusername/mcp-server-malaysia-prayer-time.git
cd mcp-server-malaysia-prayer-time

# Create and activate a virtual environment using uv
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
uv pip install -e .

Configuración

Configurar Claude Desktop

  1. Crea o edita el archivo de configuración de Claude Desktop:

macOS:

mkdir -p ~/Library/Application\ Support/Claude/
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

mkdir -p %APPDATA%\Claude
notepad %APPDATA%\Claude\claude_desktop_config.json
  1. Añade la siguiente configuración (ajusta las rutas según tu configuración):
{
    "mcpServers": {
        "malaysia-prayer-time": {
            "command": "/absolute/path/to/your/.venv/bin/python",
            "args": [
                "main.py"
            ],
            "cwd": "/absolute/path/to/mcp-server-malaysia-prayer-time"
        }
    }
}
  1. Reinicia Claude Desktop por completo

Uso

Una vez configurado, puedes interactuar con los horarios de oración a través de Claude Desktop usando consultas en lenguaje natural:

Ejemplos

Obtener horarios de oración por ciudad/zona

  • "¿Cuáles son los horarios de oración para Kuala Lumpur hoy?"
  • "Muestra los horarios de oración para Ipoh, Malasia"
  • "Obtén los horarios de oración para PRK02" (usando el código de zona)

Obtener horarios de oración por coordenadas

  • "¿Cuáles son los horarios de oración en las coordenadas 3.1390, 101.6869?"
  • "Muestra el horario de oración para la ubicación 5.4141, 100.3288"

Listar zonas disponibles

  • "Lista todas las zonas de horarios de oración en Malasia"
  • "Muéstrame todos los códigos de zona JAKIM disponibles"

Referencia de API

Herramientas disponibles

El servidor MCP expone las siguientes herramientas a Claude:

get_prayer_times

Recupera los horarios de oración para una ciudad o código de zona específico en Malasia.

Parámetros:

  • city (string, default: "kuala lumpur"): Nombre de la ciudad o código de zona (p. ej., "SGR03")
  • country (string, default: "malaysia"): Actualmente solo admite "malaysia"
  • date (string, default: "today"): Fecha en formato YYYY-MM-DD o "today"

get_prayer_times_by_coordinates

Recupera los horarios de oración basados en coordenadas geográficas.

Parámetros:

  • latitude (float): Coordenada de latitud
  • longitude (float): Coordenada de longitud
  • date (string, default: "today"): Fecha en formato YYYY-MM-DD o "today"

list_zones

Lista todas las zonas de horarios de oración disponibles en Malasia con sus códigos correspondientes.

Información de horarios de oración

El servidor proporciona estos horarios de oración:

  • Imsak (hora de la comida previa al amanecer, si está disponible)
  • Fajr (oración del amanecer)
  • Syuruk/Amanecer
  • Dhuhr (oración del mediodía)
  • Asr (oración de la tarde)
  • Maghrib (oración del atardecer)
  • Isha (oración de la noche)

Cobertura de zonas

El servidor actualmente admite todas las zonas JAKIM en Malasia. La búsqueda basada en coordenadas admite estas áreas principales:

  • Kuala Lumpur/Selangor: SGR01-SGR04
  • Perak: PRK01-PRK04
  • Penang: PNG01
  • Johor: JHR01
  • Kedah: KDH01
  • Terengganu: TRG01
  • Kelantan: KTN01
  • Melaka: MLK01

Solución de problemas

Problemas comunes

Claude no puede conectarse al servidor

  1. Verifica que las rutas de configuración sean absolutas y correctas

  2. Revisa los registros de Claude:

    # macOS
    tail -f ~/Library/Logs/Claude/mcp*.log
    
    # Windows
    type %APPDATA%\Claude\Logs\mcp*.log
    
  3. Prueba el servidor directamente:

    cd /path/to/mcp-server-malaysia-prayer-time
    python main.py
    

No hay horarios de oración disponibles

  1. Verifica la conectividad a Internet
  2. Comprueba si el código de zona es válido (usa list_zones)
  3. La API puede estar temporalmente no disponible: inténtalo de nuevo más tarde

Ciudad no encontrada

Intenta usar una ortografía diferente, una ciudad importante cercana o el código de zona adecuado

Contribuciones

¡Las contribuciones son bienvenidas! Así es como puedes contribuir:

  1. Haz un fork del repositorio
  2. Crea una rama de características: git checkout -b feature/amazing-feature
  3. Haz commit de tus cambios: git commit -m 'Add some amazing feature'
  4. Haz push a la rama: git push origin feature/amazing-feature
  5. Abre un Pull Request

Configuración de desarrollo

# Clone your fork
git clone https://github.com/yourusername/mcp-server-malaysia-prayer-time.git
cd mcp-server-malaysia-prayer-time

# Set up development environment
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"  # Installs dev dependencies

# Run tests
pytest

Licencia

Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.

Agradecimientos

  • waktusolat.app - Por proporcionar la API de datos de horarios de oración
  • Model Context Protocol - Por el marco MCP
  • JAKIM - Por los horarios de oración oficiales
  • Claude Desktop - Por la plataforma de integración de IA

Creado por abdul rahman m asmuei

amanasmuei@gmail.com