Esolat Cfworker
БесплатноНе проверенPort of esolat-mcp to Cloudflare Workers as a fully stateless MCP Streamable HTTP server. No Docker. No Python. No server to manage.
Описание
Port of esolat-mcp to Cloudflare Workers as a fully stateless MCP Streamable HTTP server. No Docker. No Python. No server to manage.
README
GitHub Repo stars Cloudflare Workers MCP M365 Copilot Buy
Port of esolat-mcp to Cloudflare Workers as a fully stateless MCP Streamable HTTP server.
No Docker. No Python. No server to manage. Runs on Cloudflare's global edge — free tier eligible.
Features
- ✅ Full MCP Streamable HTTP protocol (JSON-RPC 2.0)
- ✅ Compatible with M365 Copilot, Claude.ai, and any MCP HTTP client
- ✅ Token-based auth in URL path (same pattern as Docker edition)
- ✅ Health dashboard endpoint
- ✅ All 3 original tools preserved:
get_monthly_prayer_times— JAKIM/e-Solat (Malaysia) or Aladhan (global)find_nearest_mosques— e-Solat JAKIM (Malaysia) or OpenStreetMap (global)get_yearly_islamic_events— JAKIM or Aladhan
- ✅ CORS headers for browser-based clients
- ✅ Batch JSON-RPC support
Endpoints
| Path | Description |
|---|---|
/ |
Landing page with endpoint info |
/mcp/<TOKEN>/mcp |
MCP endpoint — point your client here |
/mcp/<TOKEN>/health |
Health dashboard (upstream API status) |
Quick Deploy
1. Prerequisites
npm install -g wrangler
wrangler login
2. Clone & Install
git clone <this-repo>
cd esolat-cfworker
npm install
3. Set Your Secret Token
wrangler secret put MCP_WEBHOOK_TOKEN
# Enter a strong random token when prompted
# e.g.: openssl rand -hex 32
4. Deploy
npm run deploy
Your Worker will be live at:
https://esolat-mcp.<your-subdomain>.workers.dev
Local Development
npm run dev
# Worker runs at http://localhost:8787
Test with curl:
# Initialize
curl -X POST http://localhost:8787/mcp/<TOKEN>/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
# List tools
curl -X POST http://localhost:8787/mcp/<TOKEN>/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# Get prayer times
curl -X POST http://localhost:8787/mcp/<TOKEN>/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_monthly_prayer_times","arguments":{"location_name":"Kajang"}}}'
Architecture
Claude.ai / M365 Copilot
│
│ HTTPS POST (JSON-RPC 2.0)
▼
Cloudflare Workers Edge
┌─────────────────────────────┐
│ Token auth (path-based) │
│ MCP protocol handler │
│ Tool dispatcher │
└─────────────────────────────┘
│
├──► api.waktusolat.app (Malaysia prayer times)
├──► e-solat.gov.my (JAKIM mosque + events)
├──► api.aladhan.com (Global fallback)
└──► nominatim.osm.org (Geocoding)
Connecting to M365 Copilot
In Microsoft 365 Copilot Studio or Copilot extensibility settings:
- Add a new MCP connector
- Set the URL to:
https://esolat-mcp.<your-subdomain>.workers.dev/mcp/<YOUR_TOKEN>/mcp - Transport: Streamable HTTP
- No additional auth headers needed (token is in the path)
Credits
- e-solat JAKIM - For the official prayer times
- WaktuSolat.app - Prayer Time by GPS
- Model Context Protocol - For the MCP framework
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.
Установка Esolat Cfworker
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/zubir2k/esolat-cfworkerFAQ
Esolat Cfworker MCP бесплатный?
Да, Esolat Cfworker MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Esolat Cfworker?
Нет, Esolat Cfworker работает без API-ключей и переменных окружения.
Esolat Cfworker — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Esolat Cfworker в Claude Desktop, Claude Code или Cursor?
Открой Esolat Cfworker на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
автор: duxiaohuiSupabase
Database, auth and storage
автор: SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Esolat Cfworker with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
