{
  "markdown": "<p align=\"center\">\n  <a href=\"https://github.com/tareq7/muslim-prayer-mcp\">\n    <img src=\"https://raw.githubusercontent.com/tareq7/muslim-prayer-mcp/main/assets/banner.png\" alt=\"Muslim Prayer Reminder MCP Banner\" width=\"100%\" />\n  </a>\n</p>\n\n<h1 align=\"center\">🕌 Muslim Prayer Reminder MCP</h1>\n\n<p align=\"center\">\n  <strong>Production-ready astronomical prayer calculation and proactive notification engine on Cloudflare Workers for AI models, coding agents, and developer environments.</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://tareq7.github.io/muslim-prayer-mcp/\"><strong>Documentation</strong></a> •\n  <a href=\"https://tareq7.github.io/muslim-prayer-mcp/demo.mp4\"><strong>Live Demo (1080p)</strong></a> •\n  <a href=\"#-quick-start\"><strong>Quick Start</strong></a> •\n  <a href=\"#-mcp-tools-catalog\"><strong>Tools Catalog</strong></a> •\n  <a href=\"#-astronomical--theological-rigor\"><strong>Theological Rigor</strong></a> •\n  <a href=\"SECURITY.md\"><strong>Security Policy</strong></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/tareq7/muslim-prayer-mcp/actions/workflows/ci.yml\"><img src=\"https://github.com/tareq7/muslim-prayer-mcp/actions/workflows/ci.yml/badge.svg?branch=main\" alt=\"CI Status\"></a>\n  <a href=\"https://github.com/tareq7/muslim-prayer-mcp/releases\"><img src=\"https://img.shields.io/github/v/release/tareq7/muslim-prayer-mcp?color=0052CC&label=Release\" alt=\"Latest Release\"></a>\n  <a href=\"https://github.com/tareq7/muslim-prayer-mcp/actions\"><img src=\"https://img.shields.io/badge/Tests-44%20Passing-brightgreen\" alt=\"Tests\"></a>\n  <a href=\"https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.tareq7/muslim-prayer-mcp\"><img src=\"https://img.shields.io/badge/MCP_Registry-v1.0.1_Live-0052CC?logo=anthropic&logoColor=white\" alt=\"MCP Registry\"></a>\n  <a href=\"https://glama.ai/mcp/servers/tareq7/muslim-prayer-mcp\"><img src=\"https://img.shields.io/badge/Glama-Verified_Tier_A-7A52CC?logo=glama&logoColor=white\" alt=\"Glama\"></a>\n  <a href=\"SECURITY.md\"><img src=\"https://img.shields.io/badge/Security-Enforced-success\" alt=\"Security Policy\"></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-green.svg\" alt=\"License\"></a>\n</p>\n\n> **Project Status**: 🟢 **Actively Maintained (v1.0.1)**  \n> Supported across Cloudflare Workers, Node.js 22/24 (Ubuntu & Windows), and all Model Context Protocol (MCP) clients.\n\n---\n\n## ⚡ Quick Start\n\n### 1. Run via NPX (Zero Installation)\nAdd to your Claude Desktop, Cursor, or VS Code MCP configuration:\n```json\n{\n  \"mcpServers\": {\n    \"muslim-prayer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"muslim-prayer-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Connect via Remote Streamable HTTP (Cloudflare Workers)\n```json\n{\n  \"mcpServers\": {\n    \"muslim-prayer\": {\n      \"url\": \"https://muslim-prayer-mcp.najetareqz.workers.dev/mcp\"\n    }\n  }\n}\n```\n\n### 3. 1-Click Install in Cursor\n[![Install in Cursor](https://img.shields.io/badge/Install%20in%20Cursor-000000?style=for-the-badge&logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=muslim-prayer&url=https%3A%2F%2Fmuslim-prayer-mcp.najetareqz.workers.dev%2Fmcp)\n\n---\n\n## 📺 Live Video Demonstration\n\nWatch the Muslim Prayer Reminder MCP in action inside ChatGPT, Claude, and Cursor:\n\n<p align=\"center\">\n  <a href=\"https://tareq7.github.io/muslim-prayer-mcp/demo.mp4\">\n    <img src=\"https://raw.githubusercontent.com/tareq7/muslim-prayer-mcp/main/assets/github-social-preview.png\" alt=\"Muslim Prayer Reminder MCP Video Demo\" width=\"85%\" style=\"border-radius: 8px; box-shadow: 0 8px 30px rgba(0,0,0,0.5);\" />\n  </a>\n  <br />\n  <em>👉 <a href=\"https://tareq7.github.io/muslim-prayer-mcp/demo.mp4\"><strong>Click here to watch the full 1080p demo video (MP4)</strong></a></em>\n</p>\n\n---\n\n## 🏛️ System Architecture\n\n```mermaid\nflowchart TD\n    subgraph ClientLayer [\"AI Clients & Environments\"]\n        Cursor[\"Cursor IDE\"]\n        Claude[\"Claude Desktop / Web\"]\n        ChatGPT[\"ChatGPT Apps Directory\"]\n        Agent[\"Autonomous AI Agent\"]\n    end\n\n    subgraph TransportLayer [\"Model Context Protocol\"]\n        HTTP[\"Streamable HTTP /mcp\"]\n        Stdio[\"Stdio Transport CLI\"]\n    end\n\n    subgraph ResolverLayer [\"Layered Location Resolver\"]\n        Explicit[\"Explicit Lat/Lng\"] --> Truncate[\"2-Decimal Sanitizer ~1.1km\"]\n        UserPref[\"Stored KV Preferences\"] --> Resolver[\"Location Normalizer\"]\n        Headers[\"X-Forwarded Headers\"] --> Resolver\n        GeoIP[\"Cloudflare request.cf GeoIP\"] --> Resolver\n        Fallback[\"Makkah Al-Mukarramah Fallback\"] --> Resolver\n        Truncate --> Resolver\n    end\n\n    subgraph EngineLayer [\"In-Isolate Solar Calculation Engine\"]\n        Resolver --> Authority[\"Authority Selector\"]\n        Authority --> AdhanEngine[\"Astronomical Solar Solver\"]\n        AdhanEngine --> FiqhRules[\"Fiqh Clamping 48° & Madhab Calibration\"]\n        FiqhRules --> DueLogic[\"Prayer Window & Due Evaluator\"]\n    end\n\n    subgraph OutputLayer [\"Formatted Payloads & Disclosures\"]\n        DueLogic --> MCPResponse[\"JSON-RPC Structured Output\"]\n        MCPResponse --> DisclosureNotice[\"Mandatory Theological Notice\"]\n        DisclosureNotice --> Middleware[\"Deterministic Host Middleware\"]\n        Middleware --> FinalOutput[\"Appended AI Response: 🕌 It is time for Maghrib prayer\"]\n    end\n\n    ClientLayer --> TransportLayer\n    TransportLayer --> ResolverLayer\n```\n\n---\n\n## 🛠️ MCP Tools Catalog\n\nThe server exposes 5 finely-tuned tools conforming to the latest Model Context Protocol standard with full Zod output contracts:\n\n| Tool Name | Operation Mode | Open World | Description |\n| :--- | :--- | :--- | :--- |\n| **`get_prayer_status`** | Read-Only | Safe | Checks if an obligatory prayer is currently due. Returns active prayer, countdown, calculation authority, and selection justification. |\n| **`get_today_prayer_times`** | Read-Only | Safe | Computes today's full timetable (Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha) in UTC and localized string format. |\n| **`get_next_prayer`** | Read-Only | Safe | Returns the immediate upcoming prayer, exact scheduled timestamp, countdown minutes, and regional authority. |\n| **`search_cities`** | Read-Only | Safe | Fuzzy search across 100+ global Islamic metropolitan areas with pre-calibrated coordinates, timezones, and authorities. |\n| **`list_authorities`** | Read-Only | Safe | Enumerates all recognized Islamic calculation authorities, twilight angles, and regional jurisdictions. |\n\n---\n\n## 📐 Astronomical & Theological Rigor\n\nPrayer calculations are not approximations—they represent exact solar depression angles calibrated to regional fatwa bodies:\n\n| Sovereign Authority | Jurisdiction | Fajr Angle | Isha Angle / Interval | Default Asr Madhab |\n| :--- | :--- | :--- | :--- | :--- |\n| **Umm al-Qura University** | Saudi Arabia, GCC | 18.5° | +90 min (+120 min Ramadan) | Shafi / Standard |\n| **Egyptian General Survey** | Egypt, Palestine, Levant | 19.5° | 17.5° | Shafi *(Palestinian Awqaf offsets applied)* |\n| **Diyanet İşleri Başkanlığı** | Turkey, Balkans, Central Asia | 18.0° | 17.0° | Hanafi (Double shadow ratio) |\n| **Univ. of Islamic Sciences, Karachi** | Pakistan, India, Bangladesh | 18.0° | 18.0° | Hanafi (Double shadow ratio) |\n| **ISNA** | United States, Canada | 15.0° | 15.0° | Shafi / Standard |\n| **Muslim World League (MWL)** | Europe, Global Fallback | 18.0° | 17.0° | Shafi / Standard |\n| **MABIMS / JAKIM / MUIS** | Malaysia, Singapore, Indonesia | 20.0° | 18.0° | Shafi / Standard |\n\n### High-Latitude Polar Adjustments\nIn latitudes above 48° North or South where twilight persists throughout the night in summer, the engine automatically engages fiqh-compliant clamping (**Middle of the Night** & **One-Seventh Rule**), preventing computational errors or impossible timetables.\n\n---\n\n## 🔌 Install & Multi-Agent Setup\n\nConnect Muslim Prayer Reminder to any AI agent harness, developer IDE, or container runtime:\n\n### 1-Click & Matrix Overview\n\n| Environment / Harness | Protocol Mode | Quick Command / Deeplink |\n| :--- | :--- | :--- |\n| **Cursor IDE** | Remote HTTP | [![Install in Cursor](https://img.shields.io/badge/Install%20in%20Cursor-000000?style=flat-square&logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=muslim-prayer&url=https%3A%2F%2Fmuslim-prayer-mcp.najetareqz.workers.dev%2Fmcp) |\n| **Claude Code** | Native Plugin | `/plugin marketplace add tareq7/muslim-prayer-mcp` |\n| **Codex** | Native Plugin | `codex plugin marketplace add tareq7/muslim-prayer-mcp` |\n| **GitHub Copilot CLI** | Copilot Plugin | `copilot plugin marketplace add tareq7/muslim-prayer-mcp` |\n| **Claude Desktop** | Stdio CLI | `npx -y muslim-prayer-mcp` via `claude_desktop_config.json` |\n| **VS Code & Cline** | Local NPX | `npx -y muslim-prayer-mcp` via `.vscode/mcp.json` |\n| **Windsurf & Devin** | Remote HTTP | Remote URL to `mcp_config.json` |\n| **Gemini CLI** | Native Extension | `gemini-cli --mcp-server https://.../mcp` |\n| **Pi Agent Harness** | Git Extension | `pi install git:github.com/tareq7/muslim-prayer-mcp` |\n| **OpenCode** | Agent Plugin | Auto-loaded via `opencode.json` & `AGENTS.md` |\n| **Docker Container** | Container | `docker run -d -p 8080:8080 ghcr.io/tareq7/muslim-prayer-mcp:latest` |\n\n---\n\n### Claude Code\n\nRun inside your Claude Code session:\n\n```bash\n/plugin marketplace add tareq7/muslim-prayer-mcp\n/plugin install muslim-prayer-mcp@muslim-prayer-mcp\n```\n\n*(Note: Send as two separate prompts). In the **Claude Code Desktop app**, click the **+** button next to the prompt box ➔ **Plugins** ➔ **Add plugin** to browse and install from the marketplace.*\n\n---\n\n### Codex\n\nRun in your terminal:\n\n```bash\ncodex plugin marketplace add tareq7/muslim-prayer-mcp\ncodex plugin add muslim-prayer-mcp@muslim-prayer-mcp\n```\n\n*Run `codex` and open `/hooks` (or start a new thread). This also activates the plugin in the Codex Desktop app upon restart.*\n\n---\n\n### GitHub Copilot CLI\n\nIn your terminal:\n\n```bash\ncopilot plugin marketplace add tareq7/muslim-prayer-mcp\ncopilot plugin install muslim-prayer-mcp@muslim-prayer-mcp\n```\n\nOr inside an interactive Copilot CLI session:\n\n```text\n/plugin marketplace add tareq7/muslim-prayer-mcp\n/plugin install muslim-prayer-mcp@muslim-prayer-mcp\n```\n\n---\n\n### Cursor IDE\n\nClick to install with one click:  \n[![Install in Cursor](https://img.shields.io/badge/Install%20in%20Cursor-000000?style=for-the-badge&logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=muslim-prayer&url=https%3A%2F%2Fmuslim-prayer-mcp.najetareqz.workers.dev%2Fmcp)\n\nOr manually add to `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"muslim-prayer\": {\n      \"url\": \"https://muslim-prayer-mcp.najetareqz.workers.dev/mcp\"\n    }\n  }\n}\n```\n\n---\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"muslim-prayer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"muslim-prayer-mcp\"]\n    }\n  }\n}\n```\n\n---\n\n### VS Code & Cline\n\nAdd to `.vscode/mcp.json` or Cline settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"muslim-prayer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"muslim-prayer-mcp\"]\n    }\n  }\n}\n```\n\n---\n\n### Windsurf & Devin\n\nAdd to `mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"muslim-prayer\": {\n      \"url\": \"https://muslim-prayer-mcp.najetareqz.workers.dev/mcp\"\n    }\n  }\n}\n```\n\n---\n\n### Gemini CLI\n\nConnect directly using the live edge endpoint:\n\n```bash\ngemini-cli --mcp-server https://muslim-prayer-mcp.najetareqz.workers.dev/mcp\n```\n\n---\n\n### Pi Agent Harness\n\n```bash\npi install git:github.com/tareq7/muslim-prayer-mcp\n```\n\n---\n\n### OpenCode\n\nAdd to your `opencode.json`:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"muslim-prayer\": {\n      \"type\": \"remote\",\n      \"url\": \"https://muslim-prayer-mcp.najetareqz.workers.dev/mcp\"\n    }\n  }\n}\n```\n\n*OpenCode automatically loads this repository's [`AGENTS.md`](AGENTS.md) and [`skills/muslim-prayer-mcp/SKILL.md`](skills/muslim-prayer-mcp/SKILL.md).*\n\n---\n\n### Docker Container\n\n```bash\ndocker run -d -p 8080:8080 ghcr.io/tareq7/muslim-prayer-mcp:latest\n```\n\n---\n\n## 💻 Deterministic Host Middleware\n\nFor platforms building autonomous AI agents (Next.js, LangChain, Vercel AI SDK), the included middleware deterministically appends prayer notices to AI responses without hallucination:\n\n```typescript\nimport { PrayerReminderMiddleware } from 'muslim-prayer-mcp/middleware';\n\nconst prayerMiddleware = new PrayerReminderMiddleware({\n  workerBaseUrl: 'https://muslim-prayer-mcp.najetareqz.workers.dev',\n  userId: 'user_session_42',\n});\n\n// Wrap any LLM completion\nconst rawLlmOutput = await callLlm('Can you review this pull request?');\nconst { responseText, reminderAppended } = await prayerMiddleware.processResponse(rawLlmOutput, {\n  'X-User-Coordinates': '24.71, 46.68', // Riyadh\n  'X-User-Timezone': 'Asia/Riyadh',\n});\n\nconsole.log(responseText);\n// => The code looks solid, but let's optimize line 42...\n//\n// 🕌 It is time for Asr prayer.\n```\n\n---\n\n## 🧪 Comprehensive Test Suite\n\nThe engine includes 44 unit, integration, and end-to-end tests validating astronomical accuracy across 10 worldwide benchmark coordinates:\n\n```bash\nnpm test\n```\n\n```\n▶ Astronomical Prayer Calculation Suite\n  ✔ calculates valid prayer timetable for Riyadh in correct chronological sequence\n  ✔ calculates valid prayer timetable for Makkah in correct chronological sequence\n  ✔ calculates valid prayer timetable for Cairo in correct chronological sequence\n  ✔ calculates valid prayer timetable for Dubai in correct chronological sequence\n  ✔ calculates valid prayer timetable for London in correct chronological sequence\n  ✔ calculates valid prayer timetable for Paris in correct chronological sequence\n  ✔ calculates valid prayer timetable for New York in correct chronological sequence\n  ✔ calculates valid prayer timetable for Jakarta in correct chronological sequence\n  ✔ calculates valid prayer timetable for Karachi in correct chronological sequence\n  ✔ calculates valid prayer timetable for Sydney (Southern Hem) in correct chronological sequence\n  ✔ verifies Hanafi Asr is strictly later than Shafi Asr\n  ✔ handles Daylight Saving Time (DST) transitions safely\n  ✔ automatically resolves Palestinian Awqaf standard for Gaza\n  ✔ handles high-latitude polar city with MiddleOfTheNight rule safely\n...\nℹ tests 44 | pass 44 | fail 0\n```\n\n---\n\n## 🔒 Security & Privacy Policy\n\n* **Coordinate Truncation**: All user coordinates are truncated to 2 decimal places upon arrival (~1.1 km resolution). Precise location is mathematically non-recoverable.\n* **No Outbound Tracking**: Astronomical math is computed locally within the isolated V8 runtime; zero external requests are made to third-party tracking APIs.\n* **Fail-Open Architecture**: Host middleware is designed to fail open; network issues or latency spikes will never block primary AI conversation streams.\n* **Full Disclosure Process**: See [SECURITY.md](SECURITY.md) for supported versions, SLA, and private reporting.\n\n---\n\n## 📄 Governance, Citations & Community\n\n* **License**: [MIT License](LICENSE)\n* **Citation**: [CITATION.cff](CITATION.cff)\n* **Maintainers**: [MAINTAINERS.md](MAINTAINERS.md)\n* **Governance**: [GOVERNANCE.md](GOVERNANCE.md)\n* **Product Roadmap**: [ROADMAP.md](ROADMAP.md)\n* **Agent Guidelines**: [AGENTS.md](AGENTS.md)\n* **Contributing**: [CONTRIBUTING.md](CONTRIBUTING.md)\n* **Code of Conduct**: [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)\n* **Discussions**: [GitHub Discussions](https://github.com/tareq7/muslim-prayer-mcp/discussions)\n\n<p align=\"center\">\n  Made with precision for the global Muslim developer community.\n</p>\n",
  "bytes": 15621,
  "sha": "7ff3a0557f5f6792fdffad443258973c4edb2a506e77ca824ce71055421c4683",
  "repo_slug": "tareq7/muslim-prayer-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_tareq7_muslim_prayer_mcp_4098ccf7/readme"
}