open-index/open-npm huggingface dataset:
npm package: @hebcal/icalendar
Description: Jewish holidays and Hebrew calendar as iCalendar RFC 2445
Author: Michael J. Radwin
Latest version: 6.3.7

# @hebcal/icalendar
Jewish holidays and Hebrew calendar as iCalendar RFC 2445

## Installation
```bash
$ npm install @hebcal/icalendar
```

## Synopsis
```javascript
import {HebrewCalendar, Location} from '@hebcal/core';
import {eventsToIcalendar} from '@hebcal/icalendar';
import fs from 'fs';

const options = {
  year: 2020,
  month: 2,
  sedrot: true,
  candlelighting: true,
  location: Location.lookup('Tel Aviv'),
};
const events = HebrewCalendar.calendar(options);

const str = await eventsToIcalendar(events, {
  locale: 'he',
  ...options,
})

const icalStream = fs.createWriteStream('feed.ics');
icalStream.write(str);
icalStream.close();
```

## [API Documentation](https://hebcal.github.io/api/icalendar/index.html)
npm package: @hebcal/leyning
Description: Torah Reading API for Parashat HaShavua and holidays
Author: Michael J. Radwin
Latest version: 9.5.2

# @hebcal/leyning
Javascript Torah Reading API for Parashat HaShavua and holidays

[![Build Status](https://github.com/hebcal/hebcal-leyning/actions/workflows/node.js.yml/badge.svg)](https://github.com/hebcal/hebcal-leyning/actions/workflows/node.js.yml)


This package includes both traditional (full kriyah) and weekday
Torah readings.

Triennial Torah Readings have moved to [@hebcal/triennial](https://github.com/hebcal/hebcal-triennial)

## Installation
```bash
$ npm install @hebcal/leyning
```

## Synopsis
```javascript
import {HebrewCalendar, HDate, Event} from '@hebcal/core';
import {getLeyningForParshaHaShavua, formatAliyahWithBook} from '@hebcal/leyning';

const events = HebrewCalendar.calendar({sedrot: true, noHolidays: true});
const ev = events.find((ev) => ev.getDesc() == 'Parashat Pinchas');
const reading = getLeyningForParshaHaShavua(ev, false);
console.log(`${ev.getDesc()}: ${reading.summary}`);
console.log(`Haftara: ${reading.haftara}`);
for (const [num, aliyah] of Object.entries(reading.fullkriyah)) {
  const number = num == 'M' ? 'maftir' : `aliyah ${num}`;
  let str = formatAliyahWithBook(aliyah);
  if (aliyah.reason) {
      str += ' | ' + aliyah.reason;
  }
  str += ` (${aliyah.v} verses)`;
  console.log(`${number}: ${str}`);
}
```
## [API Documentation](https://hebcal.github.io/api/leyning/index.html)
npm package: @hebcal/locales
Description: Translations for Hebcal events in multiple languages
Author: Michael J. Radwin
Latest version: 6.4.3

# @hebcal/locales
Translations for Hebcal events in multiple languages

Adds support for the following locales:

* `ashkenazi_komatz` - courtesy Chaim Leib Halbert
* `ashkenazi_litvish` - courtesy Andrey Rozenberg
* `ashkenazi_poylish` - courtesy Andrey Rozenberg
* `ashkenazi_standard` - courtesy Andrey Rozenberg
* `ashkenazi_romanian` - courtesy Florin-Ciprian Bodin
* `de` - courtesy Dr Oliver Maor
* `es` - courtesy Iosef Kebesh and Sebastian Thierer
* `fi` - courtesy Petteri Hjort
* `fr` - courtesy Marc Neiger
* `hu` - courtesy Oleh Korchytskyi
* `pl` - courtesy Filip Bialek
* `pt` - courtesy Zushe Ledovitch
* `ru` - courtesy David Leibovych
* `ro` - courtesy Florin-Ciprian Bodin
* `uk` - courtesy Lyubov Kuzmyn

Note that `@hebcal/core` has built-in support for `he` and `ashkenazi` locales.
This package is needed only if you need other locales.

## Installation
```bash
$ npm install @hebcal/locales
```

## Synopsis
```javascript
import {HebrewCalendar} from '@hebcal/core';
import '@hebcal/locales';

const options = {
  year: 2020,
  sedrot: true,
};
const events = HebrewCalendar.calendar(options);
console.log(events[0].render('ru'));
```
npm package: @hebcal/mcp
Description: Model Context Protocol extension for Hebrew calendar
Author: Michael J. Radwin
Latest version: 0.10.1

# 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.
npm package: @hebcal/rest-api
Description: Jewish holidays and Hebrew calendar as plain JSON objects and CSV export
Author: Michael J. Radwin
Latest version: 6.4.3

# @hebcal/rest-api
Jewish holidays and Hebrew calendar as plain JSON objects, RSS, and CSV export

[![Build Status](https://github.com/hebcal/hebcal-rest-api/actions/workflows/node.js.yml/badge.svg)](https://github.com/hebcal/hebcal-rest-api/actions/workflows/node.js.yml)

## Installation
```bash
$ npm install @hebcal/rest-api
```

## Synopsis
```javascript
import {HebrewCalendar, Location} from '@hebcal/core';
import {eventsToClassicApi, eventsToCsv} from '@hebcal/rest-api';

const options = {
  year: 2020,
  month: 2,
  sedrot: true,
  candlelighting: true,
  location: Location.lookup('Hawaii'),
};
const events = HebrewCalendar.calendar(options);
const apiResult = eventsToClassicApi(events, options);

console.log(JSON.stringify(apiResult));

const csv = eventsToCsv(events, options);
console.log(JSON.stringify(csv));
```

## [API Documentation](https://hebcal.github.io/api/rest-api/index.html)