Torah Library

Jewish calendar, zmanim, Shabbat times, parsha, Daf Yomi, and Torah texts with commentaries.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
83%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (8)

  • LOWTool 'resolve_name' description lacks action verbin resolve_name
  • LOWTool 'find_references_in_text' description lacks action verbin find_references_in_text
  • LOWTool 'get_manuscripts' description lacks action verbin get_manuscripts
  • LOWTool 'browse_library' description lacks action verbin browse_library
  • LOWTool 'get_term' description lacks action verbin get_term
  • LOWTool 'dictionary_autocomplete' description lacks action verbin dictionary_autocomplete
  • LOWTool 'get_learning_schedules' description lacks action verbin get_learning_schedules
  • LOWTool 'get_user_profile' description lacks action verbin get_user_profile

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~11,319Tokens (tool definitions)
~1.4 KBTypical response size
Significant attention impact (8.84% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "torah-library": {
      "url": "https://torah.kolsgo.xyz/mcp"
    }
  }
}

Remote endpoints

https://torah.kolsgo.xyz/mcpstreamable-http

What it can do

Tool inventory

Tools (49)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢convert_date(gregorian_date, end_date, after_sunset, hebrew_year, hebrew_month, ...)

Convert between Gregorian and Hebrew (Jewish) calendar dates. - Gregorian → Hebrew: pass gregorian_date (YYYY-MM-DD). Add end_date to convert a whole range (max ~180 days). - Hebrew → Gregorian: pass hebrew_year, hebrew_month, hebrew_day. Set after_sunset=true when the Gregorian time is after sunset (the Hebrew date advances at nightfall). Returns the Hebrew date in English and Hebrew letters plus any holidays/events on that day.

Input Schema

{
  "type": "object",
  "properties": {
    "gregorian_date": {
      "description": "Gregorian date YYYY-MM-DD. Defaults to today (US Eastern) if nothing else is given.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "end_date": {
      "description": "Optional end of a Gregorian range to convert every day in it.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "after_sunset": {
      "description": "Treat the Gregorian date as after sunset (Hebrew date = next day).",
      "type": "boolean"
    },
    "hebrew_year": {
      "description": "Hebrew year, e.g. 5787.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9999
    },
    "hebrew_month": {
      "description": "Hebrew month name.",
      "type": "string",
      "enum": [
        "Nisan",
        "Iyyar",
        "Sivan",
        "Tamuz",
        "Av",
        "Elul",
        "Tishrei",
        "Cheshvan",
        "Kislev",
        "Tevet",
        "Sh'vat",
        "Adar",
        "Adar I",
        "Adar II"
      ]
    },
    "hebrew_day": {
      "description": "Day of the Hebrew month.",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_jewish_calendar(start, end, year, month, hebrew_year_mode, ...)

List Jewish calendar events for a date range: holidays (major, minor, modern Israeli), Rosh Chodesh, fast days, special Shabbatot, weekly parsha, Omer count, molad, Yizkor, Yom Kippur Katan, daily-learning cycles (Daf Yomi, Mishna Yomi, Nach Yomi, Tanakh Yomi, Yerushalmi, Rambam, Chofetz Chaim), and — when a location is given — candle-lighting, havdalah and fast start/end times. Pick either start+end, or year (+ optional month). Max range ~1 year. Defaults include holidays, Rosh Chodesh, fasts, special Shabbatot and parsha.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "description": "Range start YYYY-MM-DD.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "end": {
      "description": "Range end YYYY-MM-DD.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "year": {
      "description": "Gregorian year (or Hebrew year if hebrew_year_mode=true). Used when start/end not given.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "month": {
      "description": "Gregorian month 1-12 (with year).",
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    },
    "hebrew_year_mode": {
      "description": "Interpret year as a Hebrew year (e.g. 5787) and return the whole Hebrew year.",
      "type": "boolean"
    },
    "major_holidays": {
      "default": true,
      "type": "boolean"
    },
    "minor_holidays": {
      "default": true,
      "type": "boolean"
    },
    "modern_holidays": {
      "default": true,
      "description": "Yom HaAtzmaut, Yom HaShoah, etc.",
      "type": "boolean"
    },
    "rosh_chodesh": {
      "default": true,
      "type": "boolean"
    },
    "minor_fasts": {
      "default": true,
      "type": "boolean"
    },
    "special_shabbatot": {
      "default": true,
      "description": "Shabbat Shekalim, Zachor, HaGadol, etc.",
      "type": "boolean"
    },
    "parsha": {
      "default": true,
      "description": "Weekly Torah portion on Shabbat.",
      "type": "boolean"
    },
    "omer": {
      "default": false,
      "description": "Daily Sefirat HaOmer count.",
      "type": "boolean"
    },
    "molad": {
      "default": false,
      "description": "Molad announcements.",
      "type": "boolean"
    },
    "yom_kippur_katan": {
      "default": false,
      "type": "boolean"
    },
    "yizkor": {
      "default": false,
      "type": "boolean"
    },
    "hebrew_date_every_day": {
      "default": false,
      "description": "Add the Hebrew date for every day in range.",
      "type": "boolean"
    },
    "learning": {
      "description": "Daily learning cycles to include.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "daf_yomi",
          "mishna_yomi",
          "nach_yomi",
          "tanakh_yomi",
          "yerushalmi_yomi",
          "rambam_1_chapter",
          "rambam_3_chapters",
          "chofetz_chaim"
        ]
      }
    },
    "israel": {
      "default": false,
      "description": "Use the Israel holiday/parsha schedule instead of the Diaspora one.",
      "type": "boolean"
    },
    "hebrew_names": {
      "default": false,
      "description": "Return event titles in Hebrew.",
      "type": "boolean"
    },
    "include_times": {
      "default": false,
      "description": "Include candle lighting / havdalah / fast times (needs a location).",
      "type": "boolean"
    },
    "candle_minutes": {
      "description": "Minutes before sunset for candle lighting (default 18; Jerusalem 40).",
      "type": "integer",
      "minimum": 10,
      "maximum": 90
    },
    "havdalah_minutes": {
      "description": "Havdalah N minutes after sunset instead of at nightfall (e.g. 42, 50, 72).",
      "type": "integer",
      "minimum": 20,
      "maximum": 90
    },
    "location": {
      "description": "Where the user is. A US ZIP code (\"11691\"), a city name (\"Jerusalem\", \"London\", \"Lakewood, NJ\"), or a numeric place id returned by find_location. Omit to use the server default.",
      "type": "string"
    },
    "latitude": {
      "description": "Latitude in decimal degrees (use with longitude + timezone instead of location).",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Longitude in decimal degrees.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "timezone": {
      "description": "IANA timezone, required with latitude/longitude, e.g. \"America/New_York\".",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_shabbat_times(location, latitude, longitude, timezone, date, ...)

Candle-lighting and havdalah times for the coming (or a specified) Shabbat and any Yom Tov that week, plus the parsha and holiday Torah readings, for a location.

Input Schema

{
  "type": "object",
  "properties": {
    "location": {
      "description": "Where the user is. A US ZIP code (\"11691\"), a city name (\"Jerusalem\", \"London\", \"Lakewood, NJ\"), or a numeric place id returned by find_location. Omit to use the server default.",
      "type": "string"
    },
    "latitude": {
      "description": "Latitude in decimal degrees (use with longitude + timezone instead of location).",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Longitude in decimal degrees.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "timezone": {
      "description": "IANA timezone, required with latitude/longitude, e.g. \"America/New_York\".",
      "type": "string"
    },
    "date": {
      "description": "Any date in the week you want (defaults to this week).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "candle_minutes": {
      "description": "Minutes before sunset for candle lighting (default 18; 40 for Jerusalem).",
      "type": "integer",
      "minimum": 10,
      "maximum": 90
    },
    "havdalah_minutes": {
      "description": "Havdalah N minutes after sunset; default is nightfall (tzeit, 8.5°).",
      "type": "integer",
      "minimum": 20,
      "maximum": 90
    },
    "include_readings": {
      "default": true,
      "description": "Include aliyah-by-aliyah Torah reading details.",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_zmanim(location, latitude, longitude, timezone, date, ...)

Halachic times of day for a location and date (or date range, max ~7 days recommended): alot hashachar, misheyakir, sunrise (netz), latest Shema and Tefilla (GRA and Magen Avraham), chatzot, mincha gedola/ketana, plag hamincha, sunset (shkia), bein hashmashot, tzeit hakochavim (several opinions), and midnight.

Input Schema

{
  "type": "object",
  "properties": {
    "location": {
      "description": "Where the user is. A US ZIP code (\"11691\"), a city name (\"Jerusalem\", \"London\", \"Lakewood, NJ\"), or a numeric place id returned by find_location. Omit to use the server default.",
      "type": "string"
    },
    "latitude": {
      "description": "Latitude in decimal degrees (use with longitude + timezone instead of location).",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Longitude in decimal degrees.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "timezone": {
      "description": "IANA timezone, required with latitude/longitude, e.g. \"America/New_York\".",
      "type": "string"
    },
    "date": {
      "description": "Date YYYY-MM-DD (default today).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "end_date": {
      "description": "Optional end date for a range.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "use_elevation": {
      "default": false,
      "description": "Adjust sunrise/sunset for elevation.",
      "type": "boolean"
    },
    "include_seconds": {
      "default": false,
      "description": "Return times with seconds precision.",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_torah_reading(date, end_date, israel, triennial, include_weekday)

Torah and Haftarah readings for a date or date range: parsha or holiday name, each aliyah with verse ranges and counts, maftir, haftarah, and special readings. Supports Israel vs Diaspora and the triennial cycle.

Input Schema

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Date YYYY-MM-DD (defaults to the coming Shabbat).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "end_date": {
      "description": "End date for a range (max ~1 year).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "israel": {
      "default": false,
      "type": "boolean"
    },
    "triennial": {
      "default": false,
      "description": "Return triennial-cycle aliyot.",
      "type": "boolean"
    },
    "include_weekday": {
      "default": true,
      "description": "Include Monday/Thursday and Rosh Chodesh/holiday weekday readings.",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_yahrzeit_dates(entries, years)

Compute upcoming Gregorian dates for yahrzeits, Hebrew birthdays or Hebrew anniversaries from the original Gregorian date. Handles after-sunset, Adar in leap years, and Cheshvan/Kislev edge cases. Up to 10 entries at once.

Input Schema

{
  "type": "object",
  "properties": {
    "entries": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the person or event."
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Original Gregorian date YYYY-MM-DD (date of passing, birth or wedding)."
          },
          "after_sunset": {
            "default": false,
            "description": "The event occurred after sunset.",
            "type": "boolean"
          },
          "type": {
            "default": "yahrzeit",
            "type": "string",
            "enum": [
              "yahrzeit",
              "birthday",
              "anniversary"
            ]
          }
        },
        "required": [
          "name",
          "date"
        ]
      }
    },
    "years": {
      "default": 3,
      "description": "How many years ahead to list.",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "entries"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_location(query)

Search for a city/place by name and get place ids, country and region. Use the returned id as the "location" argument of other tools when a city name is ambiguous.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "City or place name, e.g. \"Jerusalem\", \"Monsey\", \"Paris\"."
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_text(ref, language, translation_language, version_title, vowels, ...)

Fetch any text from the Jewish library by reference, in Hebrew/Aramaic and/or translation, aligned segment by segment. Covers Tanakh, Mishnah, Talmud Bavli & Yerushalmi, Midrash, Rambam, Shulchan Arukh, commentaries (e.g. "Rashi on Genesis 1:1"), Siddur, Zohar, Chasidut, Musar, responsa and more. Reference examples: "Genesis 1:1-5", "Bereishit 1", "Berakhot 2a", "Berakhot 2a:3-7", "Mishnah Avot 1", "Mishneh Torah, Sabbath 1:1", "Shulchan Arukh, Orach Chayim 1", "Psalms 23", "Ramban on Exodus 20:2". Returns segments as {n, he, en}; includes next/previous section refs for paging. If a reference fails, try resolve_name.

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "minLength": 2,
      "description": "Text reference, e.g. \"Genesis 1:1-10\" or \"Berakhot 2a\"."
    },
    "language": {
      "default": "both",
      "description": "\"both\" = original + translation; \"all\" = every available version.",
      "type": "string",
      "enum": [
        "both",
        "hebrew",
        "english",
        "all"
      ]
    },
    "translation_language": {
      "description": "Translation language family instead of English, e.g. \"french\", \"spanish\", \"german\", \"russian\", \"italian\".",
      "type": "string"
    },
    "version_title": {
      "description": "Exact version title to use (see get_text_versions).",
      "type": "string"
    },
    "vowels": {
      "default": "full",
      "description": "Hebrew vowels/cantillation: \"full\" keeps nikud, \"none\" strips it.",
      "type": "string",
      "enum": [
        "full",
        "none"
      ]
    },
    "footnotes": {
      "default": false,
      "description": "Keep translator footnotes inline.",
      "type": "boolean"
    },
    "max_segments": {
      "default": 60,
      "description": "Max segments to return.",
      "type": "integer",
      "minimum": 1,
      "maximum": 400
    }
  },
  "required": [
    "ref"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_texts_bulk(refs, vowels)

Fetch many short references in one call (e.g. a list of verses or commentary lines). Returns Hebrew and English for each. Up to 30 references.

Input Schema

{
  "type": "object",
  "properties": {
    "refs": {
      "minItems": 1,
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of references, e.g. [\"Genesis 1:1\", \"Exodus 20:2\", \"Rashi on Genesis 1:1:1\"]."
    },
    "vowels": {
      "default": "full",
      "description": "Hebrew vowels/cantillation: \"full\" keeps nikud, \"none\" strips it.",
      "type": "string",
      "enum": [
        "full",
        "none"
      ]
    }
  },
  "required": [
    "refs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢resolve_name(name, limit, type)

Autocomplete and identify a book title, reference, author, topic or person from partial, misspelled, transliterated or Hebrew input ("bava metzia", "bereishis", "ברכות ב", "Rambam"). Tells you whether the input is a valid reference and gives canonical names.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "type": {
      "description": "Restrict to one kind of result.",
      "type": "string",
      "enum": [
        "ref",
        "Topic",
        "AuthorTopic",
        "PersonTopic",
        "TocCategory",
        "Collection",
        "User"
      ]
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢parse_reference(ref)

Validate and normalize a text reference: canonical English and Hebrew forms, the book it belongs to, its structure, and previous/next sections.

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "minLength": 2
    }
  },
  "required": [
    "ref"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_references_in_text(text, title, language)

Scan free text (a dvar Torah, article, shiur notes) and detect every citation of a Jewish source in it (e.g. "Genesis 1:1", "Berakhot 2a", "Rambam Hilchot Shabbat 1:1"). Returns the matched spans and their canonical references.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 3,
      "maxLength": 20000,
      "description": "Body text to scan."
    },
    "title": {
      "description": "Optional title of the piece (also scanned).",
      "type": "string"
    },
    "language": {
      "type": "string",
      "enum": [
        "en",
        "he"
      ]
    }
  },
  "required": [
    "text"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_task_status(task_id)

Check the status/result of a background task (e.g. a long reference-detection job) by task_id.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "minLength": 4
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_library(query, search_in, filters, exact, sort, ...)

Full-text search across the entire Jewish library (texts), or across user-made source sheets. Hebrew or English queries. - exact=true matches the exact word forms; default matching is lemmatized (finds grammatical variants). - filters narrow by category/book path, e.g. ["Tanakh"], ["Talmud/Bavli"], ["Mishnah/Seder Moed"], ["Halakhah/Shulchan Arukh"], ["Tanakh/Torah/Genesis"]. - sort "relevance" or "chronological" (by composition date). Returns matching references with highlighted snippets, total hit count and a breakdown of hits by category (use it to refine filters). Paginate with offset.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1
    },
    "search_in": {
      "default": "texts",
      "type": "string",
      "enum": [
        "texts",
        "sheets"
      ]
    },
    "filters": {
      "description": "Category/book paths to restrict to.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "exact": {
      "default": false,
      "type": "boolean"
    },
    "sort": {
      "default": "relevance",
      "type": "string",
      "enum": [
        "relevance",
        "chronological"
      ]
    },
    "size": {
      "default": 15,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "slop": {
      "description": "Allowed word distance for multi-word phrases (default 10 for texts).",
      "type": "integer",
      "minimum": 0,
      "maximum": 20
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_commentaries(ref, commentator, category, include_text, limit, ...)

Get commentaries and other sources connected to a passage. - With commentator (e.g. "Rashi", "Ramban", "Ibn Ezra", "Sforno", "Tosafot", "Or HaChaim", "Onkelos", "Kli Yakar"): returns that commentator's full text on the passage. - Without commentator: lists all connected sources in a category ("Commentary" by default; also Targum, Midrash, Talmud, Halakhah, Chasidut, Kabbalah, Musar, Jewish Thought, Liturgy, Responsa, Quoting Commentary, …) grouped by work, optionally with text. Works for Tanakh, Talmud, Mishnah, Rambam, Shulchan Arukh, etc.

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "minLength": 2,
      "description": "Passage, e.g. \"Genesis 1:1\" or \"Berakhot 2a\"."
    },
    "commentator": {
      "description": "Commentator/work name to fetch in full.",
      "type": "string"
    },
    "category": {
      "default": "Commentary",
      "type": "string",
      "enum": [
        "Commentary",
        "Quoting Commentary",
        "Targum",
        "Midrash",
        "Talmud",
        "Mishnah",
        "Tosefta",
        "Halakhah",
        "Responsa",
        "Chasidut",
        "Kabbalah",
        "Musar",
        "Jewish Thought",
        "Liturgy",
        "Tanakh",
        "Reference",
        "Second Temple"
      ]
    },
    "include_text": {
      "default": false,
      "description": "Include the text of connected sources (first `limit`).",
      "type": "boolean"
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "language": {
      "default": "both",
      "type": "string",
      "enum": [
        "both",
        "hebrew",
        "english"
      ]
    },
    "vowels": {
      "default": "full",
      "description": "Hebrew vowels/cantillation: \"full\" keeps nikud, \"none\" strips it.",
      "type": "string",
      "enum": [
        "full",
        "none"
      ]
    }
  },
  "required": [
    "ref"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_related_content(ref, include)

Overview of everything connected to a passage: counts of linked sources by category and book, related topics, source sheets that use it, manuscript images, and related web articles. Use it to explore before drilling in with get_commentaries.

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "minLength": 2
    },
    "include": {
      "default": [
        "link_summary",
        "topics",
        "sheets",
        "manuscripts",
        "web_pages"
      ],
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "link_summary",
          "topics",
          "sheets",
          "manuscripts",
          "web_pages"
        ]
      }
    }
  },
  "required": [
    "ref"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_text_versions(book, language)

List every available edition and translation of a book (language, version title, license, source). Use a version_title with get_text to read a specific translation.

Input Schema

{
  "type": "object",
  "properties": {
    "book": {
      "type": "string",
      "description": "Book title, e.g. \"Genesis\", \"Berakhot\", \"Mishneh Torah, Sabbath\"."
    },
    "language": {
      "description": "Filter by language code, e.g. \"en\", \"he\", \"fr\".",
      "type": "string"
    }
  },
  "required": [
    "book"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_translations(language)

Without a language: list every language code that has translations in the library. With a language code (e.g. "fr", "es", "de", "ru", "yi", "lad"): list every book translated into that language with its version titles.

Input Schema

{
  "type": "object",
  "properties": {
    "language": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_manuscripts(ref)

Images of manuscripts and early printed editions (e.g. Vilna Shas, Venice 1523, Munich manuscript) for a passage, with image and thumbnail URLs.

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "minLength": 2
    }
  },
  "required": [
    "ref"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_random_text(titles, categories, vowels)

Get a random passage, optionally limited to specific books or categories (e.g. categories ["Tanakh"], titles ["Psalms", "Proverbs"]).

Input Schema

{
  "type": "object",
  "properties": {
    "titles": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "vowels": {
      "default": "full",
      "description": "Hebrew vowels/cantillation: \"full\" keeps nikud, \"none\" strips it.",
      "type": "string",
      "enum": [
        "full",
        "none"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_passage_context(refs)

Given one or more segment references (e.g. "Berakhot 2a:1"), return the full logical passage/sugya each belongs to.

Input Schema

{
  "type": "object",
  "properties": {
    "refs": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "refs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_text_image(ref, language, platform)

Generate a shareable image (PNG) of a short passage, sized for a social platform.

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "minLength": 2,
      "description": "Short passage, ideally one verse/segment."
    },
    "language": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "he"
      ]
    },
    "platform": {
      "default": "facebook",
      "type": "string",
      "enum": [
        "facebook",
        "twitter",
        "instagram"
      ]
    }
  },
  "required": [
    "ref"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢browse_library(category_path)

Browse the library's table of contents by category. With no path: top-level categories (Tanakh, Mishnah, Talmud, Midrash, Halakhah, Kabbalah, Liturgy, Jewish Thought, Tosefta, Chasidut, Musar, Responsa, Second Temple, Reference). With a path like "Talmud/Bavli/Seder Moed" or "Halakhah/Shulchan Arukh": that category's description, subcategories and books.

Input Schema

{
  "type": "object",
  "properties": {
    "category_path": {
      "description": "Slash-separated path, e.g. \"Tanakh/Torah\".",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_book_titles(contains, category_path, limit)

Search the list of all books in the library by (part of) an English or Hebrew title, optionally within a category path. Returns canonical titles with their category.

Input Schema

{
  "type": "object",
  "properties": {
    "contains": {
      "description": "Substring to match, e.g. \"Rashi\", \"Mishneh Torah\", \"תהלים\".",
      "type": "string"
    },
    "category_path": {
      "description": "Limit to a category, e.g. \"Talmud/Bavli\".",
      "type": "string"
    },
    "limit": {
      "default": 100,
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_book_info(title, include_structure, include_availability)

Metadata for a book: author(s), era, composition date and place, description, categories, alternative titles, section structure (e.g. Chapter/Verse, Daf/Line), chapter lengths, and alternate structures (e.g. parshiyot for Torah books). Optionally text availability counts.

Input Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Book title, e.g. \"Genesis\", \"Berakhot\", \"Mishneh Torah, Sabbath\", \"Kuzari\"."
    },
    "include_structure": {
      "default": true,
      "description": "Include chapter lengths (shape).",
      "type": "boolean"
    },
    "include_availability": {
      "default": false,
      "description": "Include counts of available Hebrew/English text.",
      "type": "boolean"
    }
  },
  "required": [
    "title"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_book_raw_index(title)

Full, unabridged index record for a book (complete schema tree, match templates, alternate structures). Use get_book_info for a friendly summary.

Input Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    }
  },
  "required": [
    "title"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_author_works(author_slug)

List the books written by an author. Pass the author slug (e.g. "rashi", "rambam", "ramban", "ibn-ezra", "rabbi-yosef-karo") — find slugs with resolve_name type AuthorTopic.

Input Schema

{
  "type": "object",
  "properties": {
    "author_slug": {
      "type": "string"
    }
  },
  "required": [
    "author_slug"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_library_statistics(kind, title, version_title, language, category_a, ...)

Statistics: - kind "word_count": number of words in a specific version of a book (needs title, version_title, language he/en). - kind "links_between_categories": how many links connect two categories (e.g. Tanakh ↔ Talmud). - kind "text_availability": raw availability counts for a book.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "word_count",
        "links_between_categories",
        "text_availability"
      ]
    },
    "title": {
      "type": "string"
    },
    "version_title": {
      "type": "string"
    },
    "language": {
      "type": "string",
      "enum": [
        "he",
        "en"
      ]
    },
    "category_a": {
      "type": "string"
    },
    "category_b": {
      "type": "string"
    }
  },
  "required": [
    "kind"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_term(name)

Look up a named term (parsha names, section names, holidays, etc.) with its Hebrew and English titles and alternate spellings, e.g. "Noach", "Bereshit", "Perek".

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢dictionary_lookup(word, context_ref, dictionary, never_split, always_split, ...)

Look up a Hebrew or Aramaic word in classic dictionaries (Jastrow, BDB, Klein, and others). Handles prefixes/inflected forms. Pass context_ref to disambiguate using the passage where the word appears.

Input Schema

{
  "type": "object",
  "properties": {
    "word": {
      "type": "string",
      "minLength": 1,
      "description": "Hebrew/Aramaic word (with or without vowels)."
    },
    "context_ref": {
      "description": "Passage the word appears in, e.g. \"Berakhot 2a:1\".",
      "type": "string"
    },
    "dictionary": {
      "description": "Only return entries from this dictionary, e.g. \"Jastrow Dictionary\", \"Klein Dictionary\", \"BDB Dictionary\".",
      "type": "string"
    },
    "never_split": {
      "description": "Don't try splitting prefixes off the word.",
      "type": "boolean"
    },
    "always_split": {
      "type": "boolean"
    },
    "consonants_only": {
      "description": "Match on consonants, ignoring vowels.",
      "type": "boolean"
    },
    "max_entries": {
      "default": 8,
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "required": [
    "word"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢dictionary_autocomplete(prefix, dictionary, limit)

Autocomplete a partial Hebrew/Aramaic word against a dictionary ("Jastrow Dictionary", "Klein Dictionary", "BDB Augmented Strong").

Input Schema

{
  "type": "object",
  "properties": {
    "prefix": {
      "type": "string",
      "minLength": 1
    },
    "dictionary": {
      "default": "Jastrow Dictionary",
      "type": "string"
    },
    "limit": {
      "default": 15,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "prefix"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_learning_schedules(date, israel, timezone, custom)

Today's (or any date's) study schedule items with exact references: Parashat HaShavua, Haftarah, Daf Yomi, 929, Daily Mishnah, Daily Rambam (1 and 3 chapters), Daf a Week, Halakhah Yomit, Arukh HaShulchan Yomi, Tanakh Yomi, Chok LeYisrael, Tanya Yomi, Yerushalmi Yomi, and more.

Input Schema

{
  "type": "object",
  "properties": {
    "date": {
      "description": "YYYY-MM-DD (default today).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "israel": {
      "default": false,
      "type": "boolean"
    },
    "timezone": {
      "description": "IANA timezone used for 'today'.",
      "type": "string"
    },
    "custom": {
      "description": "Haftarah custom.",
      "type": "string",
      "enum": [
        "ashkenazi",
        "sephardi"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_parasha(parasha)

Details for a weekly Torah portion by name (e.g. "Noach", "Lech Lecha", "Ki Tisa"): full reference, aliyot, haftarah, and the next date it will be read.

Input Schema

{
  "type": "object",
  "properties": {
    "parasha": {
      "type": "string",
      "description": "Parasha name in English transliteration."
    }
  },
  "required": [
    "parasha"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_topic(slug, max_sources, include_source_text, include_related_topics)

Get a curated topic — a person (e.g. "moses", "rambam", "rabbi-akiva"), concept ("teshuvah", "kindness"), holiday ("passover"), mitzvah or object — with its description and its top sources, ordered by importance. Use resolve_name (type "Topic") or search_topics to find slugs.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Topic slug, e.g. \"shabbat\", \"prayer\", \"abraham\"."
    },
    "max_sources": {
      "default": 20,
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "include_source_text": {
      "default": false,
      "description": "Also fetch the text of the top sources (first 10).",
      "type": "boolean"
    },
    "include_related_topics": {
      "default": true,
      "type": "boolean"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_topics(contains, limit)

List topics, optionally filtered by a word in the title. Without a filter returns the most prominent topics.

Input Schema

{
  "type": "object",
  "properties": {
    "contains": {
      "type": "string"
    },
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_topic_graph(slug, link_type)

Get the network of topics connected to a topic (e.g. students/teachers of a sage, parts of a concept). Optionally restrict to one link type such as "is-a", "has-student", "has-teacher", "related-to", "part-of".

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "link_type": {
      "type": "string"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢recommend_topics(refs)

Recommend topics relevant to one or more passages (e.g. for tagging a source sheet or finding themes in a set of verses).

Input Schema

{
  "type": "object",
  "properties": {
    "refs": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "refs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_random_source_by_topic

Get a random source together with the topic it illustrates — handy for a daily inspiration or quiz.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_seasonal_topic(kind, date, israel)

Get the curated topic for the current parsha (kind "parasha") or the current/upcoming holiday (kind "holiday"), with description and key sources.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "parasha",
        "holiday"
      ]
    },
    "date": {
      "description": "For holiday: date to check (default today).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "israel": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "kind"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_source_sheet(ids, max_sources)

Get a user-made source sheet by id: title, author, tags, and each source (reference + text) and commentary block in order. Pass several ids to fetch up to 10 sheets.

Input Schema

{
  "type": "object",
  "properties": {
    "ids": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          {
            "type": "string"
          }
        ]
      }
    },
    "max_sources": {
      "default": 60,
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "required": [
    "ids"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_source_sheets(ref, user_id, sort_by, limit, offset)

List public source sheets: - by passage (ref): sheets that use a given text; - by user (user_id): a user's sheets, sortable by "views" or "date", with paging; - latest: newest public sheets (no ref/user_id).

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string"
    },
    "user_id": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "sort_by": {
      "default": "views",
      "type": "string",
      "enum": [
        "views",
        "date"
      ]
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_sheet_tags(kind, sort_by, user_id, limit)

Source-sheet tags: "trending" (this week's trending tags), "all" (every tag, sorted by count or alphabetically), or a specific user's tags.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "default": "trending",
      "type": "string",
      "enum": [
        "trending",
        "all",
        "user"
      ]
    },
    "sort_by": {
      "default": "count",
      "type": "string",
      "enum": [
        "count",
        "alpha"
      ]
    },
    "user_id": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_sheet_modified(id, since)

Check whether a source sheet has been modified since a timestamp (ISO date/time).

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string"
        }
      ]
    },
    "since": {
      "type": "string",
      "description": "ISO timestamp, e.g. 2026-01-01T00:00:00"
    }
  },
  "required": [
    "id",
    "since"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_collections(slug, user_id, contains, limit)

Browse collections of source sheets: pass slug for one collection (with its sheets), user_id for a user's collections, or neither to list public collections (filterable by name).

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "user_id": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "contains": {
      "type": "string"
    },
    "limit": {
      "default": 40,
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_user_profile(slug)

Public profile of a library user/author of source sheets, by profile slug (e.g. "dovid-birk").

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢todays_learning(date, israel, timezone, include_opening_text, only)

One-call daily briefing: today's Hebrew date, holidays/events, the weekly parsha, and every daily learning schedule (Daf Yomi, Rambam, Mishnah, 929, Halakhah Yomit, Tanya, etc.) with exact references. Optionally include the opening lines of each study item.

Input Schema

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "israel": {
      "default": false,
      "type": "boolean"
    },
    "timezone": {
      "default": "America/New_York",
      "type": "string"
    },
    "include_opening_text": {
      "default": false,
      "description": "Include the first lines of each study item.",
      "type": "boolean"
    },
    "only": {
      "description": "Only these schedules, e.g. [\"Daf Yomi\", \"Daily Rambam\", \"Parashat Hashavua\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢parsha_study_pack(date, parasha, aliyah, commentator, verses_of_commentary, ...)

Everything to study the weekly Torah portion: the reading (for a date, or by parsha name), aliyot and haftarah, the text of a chosen aliyah (Hebrew + English), a commentator's notes on its opening verses, and the parsha's topic and themes. Great for preparing a dvar Torah.

Input Schema

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Any date — uses that week's Shabbat reading. Default: this week.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "parasha": {
      "description": "Or a parsha name, e.g. \"Vayera\".",
      "type": "string"
    },
    "aliyah": {
      "default": 1,
      "description": "Which aliyah's text to include.",
      "type": "integer",
      "minimum": 1,
      "maximum": 7
    },
    "commentator": {
      "default": "Rashi",
      "type": "string"
    },
    "verses_of_commentary": {
      "default": 3,
      "type": "integer",
      "minimum": 0,
      "maximum": 10
    },
    "israel": {
      "default": false,
      "type": "boolean"
    },
    "vowels": {
      "default": "full",
      "type": "string",
      "enum": [
        "full",
        "none"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢holiday_sources(holiday, max_sources, israel)

For the next (or a named) Jewish holiday: its dates, a description, the Torah/Haftarah readings, and key classical sources with text. Examples: "Sukkot", "Chanukah", "Purim", "Pesach", "Shavuot", "Tisha B'Av", "Rosh Hashana".

Input Schema

{
  "type": "object",
  "properties": {
    "holiday": {
      "description": "Holiday name; default is the next major/minor holiday from today.",
      "type": "string"
    },
    "max_sources": {
      "default": 6,
      "type": "integer",
      "minimum": 1,
      "maximum": 15
    },
    "israel": {
      "default": false,
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢shabbat_briefing(location, latitude, longitude, timezone, date, ...)

A ready-to-read Friday summary for a location: candle-lighting and havdalah times, the parsha with aliyot and haftarah, the opening verse of the parsha in Hebrew and English, and any holiday that week.

Input Schema

{
  "type": "object",
  "properties": {
    "location": {
      "description": "Where the user is. A US ZIP code (\"11691\"), a city name (\"Jerusalem\", \"London\", \"Lakewood, NJ\"), or a numeric place id returned by find_location. Omit to use the server default.",
      "type": "string"
    },
    "latitude": {
      "description": "Latitude in decimal degrees (use with longitude + timezone instead of location).",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Longitude in decimal degrees.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "timezone": {
      "description": "IANA timezone, required with latitude/longitude, e.g. \"America/New_York\".",
      "type": "string"
    },
    "date": {
      "description": "Any date in the week (default this week).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "candle_minutes": {
      "type": "integer",
      "minimum": 10,
      "maximum": 90
    },
    "havdalah_minutes": {
      "type": "integer",
      "minimum": 20,
      "maximum": 90
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded49 tools