
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
muslim-prayer-mcp
Advanced tools
Production-ready Muslim prayer reminder MCP on Cloudflare Workers with Streamable HTTP, automatic location-based calculation authority calibration, mandatory theological disclosure, and deterministic host middleware.
Production-ready Muslim prayer reminder system running on Cloudflare Workers, exposing both a Streamable HTTP Model Context Protocol (MCP) server and an ultra-fast edge REST API with deterministic host middleware.
Remote Cloudflare MCP Worker (src/index.ts):
@modelcontextprotocol/sdk).adhan (<1ms astronomical solar computation).request.cf geolocation -> Makkah fallback).Deterministic Host Middleware (src/middleware/host-connector.ts):
<5ms latency overhead), and deterministically appends \n\n🕌 It is time for [Prayer] prayer. to the final answer whenever a prayer is due.| Tool Name | Type | Mandatory LLM Disclosure | Description |
|---|---|---|---|
get_prayer_status | Read-only | Required | Checks whether an obligatory prayer is currently due and returns active reminder details, calculation authority, and selection justification. |
get_today_prayer_times | Read-only | Required | Returns today's full timetable (Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha) in UTC and formatted local time, including authorityNotice. |
get_next_prayer | Read-only | Required | Returns the immediate next prayer name, scheduled time, authority description, selection reason, and remaining countdown in minutes. |
configure_prayer_preferences | State mutation | Optional override | Sets user calculation method, madhab, reminder mode, location mode (fixed vs auto), and language in KV storage. |
get_prayer_preferences | Read-only | N/A | Inspects active user calculation settings and preferences. |
To guarantee transparency and eliminate sectarian or jurisdictional ambiguity, the server enforces a Mandatory Authority Disclosure Directive on all AI clients (Claude, ChatGPT, Cursor, Copilot, etc.):
Automatic Geographic Calibration: When not explicitly overridden by user preferences, the calculation authority, madhab, and regional solar safety adjustments are automatically resolved based on the user's location:
{ maghrib: +3 min, dhuhr: -1 min } safety offsets, producing 100% exact matches with local printed calendars).Dubai method).15° twilight).Strict LLM Enforcement:
authorityNotice): Every response payload includes a dedicated authorityNotice object with requiredDisplayInstruction.skills/muslim-prayer-mcp/SKILL.md provides ready-to-load instructions and formatting templates for LLMs.npm test
Executes 44 automated tests covering 10 benchmark cities, DST transitions, Hanafi/Shafi Asr differences, deduplication, JSON-RPC MCP conformance, and end-to-end middleware post-processing.
# 1. Create Cloudflare KV namespace
npx wrangler kv:namespace create PRAYER_KV
# 2. Update wrangler.toml with the returned namespace ID
# 3. Deploy
npx wrangler deploy
| Client / Environment | Support Mode | 1-Click Deeplink / Quick Command |
|---|---|---|
| Cursor | Remote HTTP | |
| Claude Desktop | Remote HTTP | Add URL https://muslim-prayer-mcp.najetareqz.workers.dev/mcp to config |
| VS Code | Local / NPX | npx -y muslim-prayer-mcp via .vscode/mcp.json |
| Windsurf / Devin | Remote HTTP | Add https://muslim-prayer-mcp.najetareqz.workers.dev/mcp to mcp_config.json |
| Gemini CLI | Auto-indexed | gemini-cli --mcp-server https://muslim-prayer-mcp.najetareqz.workers.dev/mcp |
| Autonomous Agents | All Modes | Agent setup: llms-install.md & Skill: SKILL.md |
{
"mcpServers": {
"muslim-prayer": {
"command": "npx",
"args": ["-y", "muslim-prayer-mcp"]
}
}
}
{
"mcpServers": {
"muslim-prayer": {
"url": "https://muslim-prayer-mcp.najetareqz.workers.dev/mcp"
}
}
}
import { PrayerReminderMiddleware } from './src/middleware/host-connector.ts';
const prayerMiddleware = new PrayerReminderMiddleware({
workerBaseUrl: 'https://muslim-prayer-mcp.najetareqz.workers.dev',
userId: 'user_123',
});
// Wrap any LLM completion
const rawAnswer = await callYourLlm('What is the best database for this project?');
const { responseText, reminderAppended } = await prayerMiddleware.processResponse(rawAnswer, {
'X-User-Coordinates': '24.71, 46.68',
'X-User-Timezone': 'Asia/Riyadh',
});
console.log(responseText);
// If Maghrib is due:
// PostgreSQL is the recommended database...
//
// 🕌 It is time for Maghrib prayer.
~1.1km precision), preventing street-level tracking while preserving sub-minute solar calculation accuracy.Official high-resolution branding assets with antialiased transparent corners:
assets/icon.pngassets/official-logo-1024.pngdocs/assets/FAQs
Production-ready Muslim prayer reminder MCP on Cloudflare Workers with Streamable HTTP, automatic location-based calculation authority calibration, mandatory theological disclosure, and deterministic host middleware.
We found that muslim-prayer-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.