esolat-mcp

esolat-mcp

MCP server providing Malaysian/global prayer times (JAKIM + Aladhan fallback), nearest mosque/surau finder, and Islamic calendar events.

Category
访问服务器

README

eSolatMCP

GitHub Repo stars MCP Python Docker Buy

MCP server for accurate Malaysian prayer times (official JAKIM/e-Solat), nearest masjid and surau, and Islamic calendar events.

Gives AI assistants like Claude Desktop and Claude Code reliable, hallucination-free access to Islamic worship tools with smart Malaysia-first routing.

Features

  • Official JAKIM data for Malaysia (via Waktusolat.app API)
  • Dhuha time automatically calculated (+28 minutes after Syuruk)
  • Malay Hijri month names (Muharram, Safar, etc.)
  • Global fallback using Aladhan API
  • Nearest mosques/suraus with Google Maps + Waze deep links
  • Yearly Islamic events (Eid, etc.)
  • Dual mode: Local (stdio) + Remote (Docker + secure HTTP)
  • Health dashboard for upstream APIs

Tools

The server registers three powerful tools that Claude can discover and call automatically:

  1. get_monthly_prayer_times

    • Get full monthly prayer schedule (Fajr, Syuruk, Dhuha, Dhuhr, Asr, Maghrib, Isha)
    • Accepts place name or latitude/longitude
    • Returns both Gregorian and Hijri dates
  2. find_nearest_mosques

    • Find up to 15 nearest mosques/suraus
    • Default radius: 5 km (configurable)
    • Malaysia uses official e-Solat data; global uses OpenStreetMap
    • Includes distance, coordinates, Google Maps & Waze links
  3. get_yearly_islamic_events

    • Major Islamic dates and holidays for a given year
    • Malaysia-aware routing

Quick Start

Option 1: Local / Stdio Mode (Recommended for Claude Desktop)

No clone needed:

uvx --from git+https://github.com/zubir2k/esolat-mcp esolat-mcp

Claude Desktop config example:

{
  "mcpServers": {
    "esolat": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/zubir2k/esolat-mcp", "esolat-mcp"]
    }
  }
}

Option 2: Docker / Remote HTTP Mode (Self-hosted)

1. Clone the repo and set up token:

git clone https://github.com/zubir2k/esolat-mcp.git
cd esolat-mcp
cp .env.example .env

2. Generate a strong token:

python -c "import secrets; print(secrets.token_urlsafe(32))"
# or: openssl rand -hex 32

3. Paste it into .env as MCP_WEBHOOK_TOKEN=your_token_here

4. Build and Start the container:

docker build -t esolat-mcp:latest .
docker compose up -d

5. Endpoints

- Streamable MCP HTTP Endpoint (main one for AI clients):

http://your-server-ip:8626/api/webhook/<MCP_WEBHOOK_TOKEN>/mcp

- Health Dashboard (useful for monitoring):

http://your-server-ip:8626/api/webhook/<MCP_WEBHOOK_TOKEN>

(GET request without /mcp — shows status of JAKIM, Aladhan, and Overpass APIs)

[!Caution] Always keep your MCP_WEBHOOK_TOKEN secret.
The token is part of the URL path for simple authentication.
You can change the port via the PORT environment variable.
For production, consider using a reverse proxy (Nginx/Cloudflare) with HTTPS.

Usage Examples (Claude)

Prayer Times

"What are today's prayer times in Kuala Lumpur?"
"Show me full prayer schedule for Penang this Ramadan."
"Prayer times for Kota Kinabalu next week."

Mosques

"Find the nearest mosque to me."
"Mosques within 10km of Petaling Jaya."
"Nearest surau from KLCC."

Events & Planning

"Major Islamic events in 2026 for Malaysia."
"Plan my trip to Johor Bahru: prayer times + nearest mosques + Eid dates."

Visual

Claude Config

ClaudeConfig

Claude Prompt

ClaudePrompt

Credits

License

This project is licensed under the MIT License.

Disclaimer & Data Source

Important Notice & Reliability Disclaimer

This integration pulls data directly from the official e-Solat JAKIM (Department of Islamic Development Malaysia) portal. However, please note:

  • No Liability: This integration is a community-driven project provided "as is" without any guarantees. The maintainer is not solely or legally responsible for any discrepancies, inaccuracies, delays, or omissions in prayer times or calendar dates.
  • Verify Important Times: Users are strictly advised to regularly check and verify times against the official JAKIM eSolat Portal or official local announcements, especially for critical obligations (e.g., fasting, community prayers).
  • Network & Upstream Dependencies: Synchronization depends on upstream API availability and local network connectivity. Discrepancies caused by unexpected server updates from JAKIM or local server downtime are outside the control of this software.

By using this tool, you acknowledge and agree that the developer holds no liability for missed schedules or data inaccuracies.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选