io.github.hebcal/hebcal
Model Context Protocol extension for Hebrew calendar
Open source Repository Open in the app JSON README (API)
About
Model Context Protocol extension for Hebrew calendar
Details
- Kind
- MCP servers
- Topic
- AI, RAG & memory
- Publisher
- hebcal
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 0.9.9
- Stars
- 7
- Forks
- 2
- Open pull requests
- 2
- Last push
- 2026-09-03T11:07:37Z
- Repository state
- ativo
- Language
- TypeScript
- License
- BSD-2-Clause
- Added
- 2026-08-29 03:02:56
- Updated
- 2026-08-29 03:02:56
- Origin id
io.github.hebcal/hebcal
README
# Hebcal Jewish holidays and Hebrew calednar Model Context Protocol (MCP) server
Hebcal (pronounced *HEEB-kal*, as in **Heb**rew **cal**endar) is a free Jewish calendar and holiday web site.
Our mission is to increase awareness of Jewish holidays and to help Jews to be observant of the mitzvot.
This repository is the MCP server equivalent of the powerful [custom Jewish calendar](https://www.hebcal.com/hebcal) tool that lets you generate a list of Jewish holidays for any year (past, present or future).
Also available are a Hebrew [date converter](https://www.hebcal.com/converter), [Shabbat candle lighting times](https://www.hebcal.com/shabbat) and [Torah readings](https://www.hebcal.com/sedrot/) (both full *kriyah* and triennial system), and a page to look up [yahrzeits, birthdays and anniversaries](https://www.hebcal.com/yahrzeit).
## Running the Server
This MCP server can run in two modes:
1. **Stdio Mode (default):** Communicates over standard input/output.
```bash
npm install
npm run build
node build/cli.js
```
2. **Server-Sent Events (SSE) Mode:** Communicates over HTTP using SSE.
```bash
npm install
npm run build
node build/server.js
```
The SSE endpoint will be available at `http://localhost:8080/mcp` by default. You can configure the port using the `NODE_PORT` environment variable (e.g., `NODE_PORT=3000 node build/server.js`).
You can test the SSE endpoint with `curl`:
```bash
curl -N http://localhost:8080/mcp
```
Then, in a separate terminal, you can send MCP requests (as JSON) to the server via its stdin if you are also running it in stdio mode, or by sending HTTP POST requests if you were to implement an HTTP ingress for requests. For now, the SSE transport only handles outgoing messages. For a full duplex SSE communication, the client would also need to send requests to the server (e.g. via POST requests to a different endpoint). This example focuses on the server sending events to the client.