An MCP (Model Context Protocol) server that provides access to Jewish texts from the Sefaria library. This server enables Large Language Models to retrieve and reference Jewish texts through a standardized interface.
- Retrieve Jewish texts by reference
- Retrieve commentaries on a given text
- Search the Jewish library for a query
- Get daily/weekly learning schedule from Sefaria's calendar
Requires Python 3.10 or higher.
git clone https://github.com/sivan22/mcp-sefaria-server.git
cd mcp-sefaria-server
The server can be run directly:
uv --directory path/to/directory run sefaria_jewish_library
Or through an MCP client that supports the Model Context Protocol. for claude desktop app and cline you should use the following config:
{
"mcpServers": {
"sefaria_jewish_library": {
"command": "uv",
"args": [
"--directory",
"absolute/path/to/mcp-sefaria-server",
"run",
"sefaria_jewish_library"
],
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
}
}
To install Sefaria Jewish Library for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-sefaria-server --client claude
The server provides the following tools through the MCP interface:
Retrieves a specific Jewish text by its reference.
Example:
reference: "Genesis 1:1"
reference: "שמות פרק ב פסוק ג"
reference: "משנה ברכות פרק א משנה א"
Retrieves a list of commentaries for a given text.
Example:
reference: "Genesis 1:1"
reference: "שמות פרק ב פסוק ג"
reference: "משנה ברכות פרק א משנה א"
Searches for Jewish texts in the Sefaria library based on a query.
Example:
query: "moshiach"
slop: 1
filters: ["Talmud", "Bavli"]
size: 5
Retrieves the daily or weekly learning schedule from Sefaria's calendar API.
Parameters (all optional):
diaspora
(boolean): When true, returns weekly Torah reading for diaspora. When false, returns Torah reading for Israel. Default: truecustom
(string): If available, the weekly Haftarah will be returned for the selected customyear
,month
,day
(integers): Specific date (all three must be used together, or API falls back to current date)timezone
(string): Timezone name in accordance with IANA Standards
Example:
# Get current day's learning schedule
{}
# Get learning schedule for a specific date in Israel
{
"diaspora": false,
"year": 2024,
"month": 12,
"day": 25,
"timezone": "Asia/Jerusalem"
}
Returns a formatted schedule including:
- Weekly Torah portion (Parashat Hashavua) with aliyot
- Haftarah reading
- Daf Yomi (daily Talmud page)
- Daily Mishnah, Rambam, and other learning cycles
- Various Jewish learning programs and their daily selections
This project uses:
- MCP SDK for server implementation
- Sefaria API for accessing Jewish texts
- Python >= 3.10
- MCP SDK >= 1.1.1
- Sefaria API
MIT License