MCP Server

Torah Library

xyz.kolsgo.torah/torah-library

What this MCP does

Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha information, and Jewish observance times.

browse_library
Browse the library catalog
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'category_path': {'type': 'string', 'description': 'Slash-separated path, e.g. "Tanakh/Torah".'}}}
check_sheet_modified
Has a sheet changed?
Check whether a source sheet has been modified since a timestamp (ISO date/time).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'since'], 'properties': {'id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}]}, 'since': {'type': 'string', 'description': 'ISO timestamp, e.g. 2026-01-01T00:00:00'}}}
convert_date
Convert dates (Gregorian ↔ Hebrew)
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Optional end of a Gregorian range to convert every day in it.'}, 'hebrew_day': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Day of the Hebrew month.'}, 'hebrew_year': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'Hebrew year, e.g. 5787.'}, 'after_sunset': {'type': 'boolean', 'description': 'Treat the Gregorian date as after sunset (Hebrew date = next day).'}, 'hebrew_month': {'enum': ['Nisan', 'Iyyar', 'Sivan', 'Tamuz', 'Av', 'Elul', 'Tishrei', 'Cheshvan', 'Kislev', 'Tevet', "Sh'vat", 'Adar', 'Adar I', 'Adar II'], 'type': 'string', 'description': 'Hebrew month name.'}, 'gregorian_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Gregorian date YYYY-MM-DD. Defaults to today (US Eastern) if nothing else is given.'}}}
dictionary_autocomplete
Dictionary word completion
Autocomplete a partial Hebrew/Aramaic word against a dictionary ("Jastrow Dictionary", "Klein Dictionary", "BDB Augmented Strong").
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prefix'], 'properties': {'limit': {'type': 'integer', 'default': 15, 'maximum': 50, 'minimum': 1}, 'prefix': {'type': 'string', 'minLength': 1}, 'dictionary': {'type': 'string', 'default': 'Jastrow Dictionary'}}}
dictionary_lookup
Hebrew/Aramaic dictionary
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['word'], 'properties': {'word': {'type': 'string', 'minLength': 1, 'description': 'Hebrew/Aramaic word (with or without vowels).'}, 'dictionary': {'type': 'string', 'description': 'Only return entries from this dictionary, e.g. "Jastrow Dictionary", "Klein Dictionary", "BDB Dictionary".'}, 'context_ref': {'type': 'string', 'description': 'Passage the word appears in, e.g. "Berakhot 2a:1".'}, 'max_entries': {'type': 'integer', 'default': 8, 'maximum': 30, 'minimum': 1}, 'never_split': {'type': 'boolean', 'description': "Don't try splitting prefixes off the word."}, 'always_split': {'type': 'boolean'}, 'consonants_only': {'type': 'boolean', 'description': 'Match on consonants, ignoring vowels.'}}}
find_location
Find a location
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'minLength': 2, 'description': 'City or place name, e.g. "Jerusalem", "Monsey", "Paris".'}}}
find_references_in_text
Detect source citations in text
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 20000, 'minLength': 3, 'description': 'Body text to scan.'}, 'title': {'type': 'string', 'description': 'Optional title of the piece (also scanned).'}, 'language': {'enum': ['en', 'he'], 'type': 'string'}}}
get_author_works
Works by an author
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['author_slug'], 'properties': {'author_slug': {'type': 'string'}}}
get_book_info
Book details & structure
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'title': {'type': 'string', 'description': 'Book title, e.g. "Genesis", "Berakhot", "Mishneh Torah, Sabbath", "Kuzari".'}, 'include_structure': {'type': 'boolean', 'default': True, 'description': 'Include chapter lengths (shape).'}, 'include_availability': {'type': 'boolean', 'default': False, 'description': 'Include counts of available Hebrew/English text.'}}}
get_book_raw_index
Full raw book schema
Full, unabridged index record for a book (complete schema tree, match templates, alternate structures). Use get_book_info for a friendly summary.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'title': {'type': 'string'}}}
get_collections
Source sheet collections
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).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 40, 'maximum': 200, 'minimum': 1}, 'user_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'contains': {'type': 'string'}}}
get_commentaries
Commentaries & connected sources for a passage
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref'], 'properties': {'ref': {'type': 'string', 'minLength': 2, 'description': 'Passage, e.g. "Genesis 1:1" or "Berakhot 2a".'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 30, 'minimum': 1}, 'vowels': {'enum': ['full', 'none'], 'type': 'string', 'default': 'full', 'description': 'Hebrew vowels/cantillation: "full" keeps nikud, "none" strips it.'}, 'category': {'enum': ['Commentary', 'Quoting Commentary', 'Targum', 'Midrash', 'Talmud', 'Mishnah', 'Tosefta', 'Halakhah', 'Responsa', 'Chasidut', 'Kabbalah', 'Musar', 'Jewish Thought', 'Liturgy', 'Tanakh', 'Reference', 'Second Temple'], 'type': 'string', 'default': 'Commentary'}, 'language': {'enum': ['both', 'hebrew', 'english'], 'type': 'string', 'default': 'both'}, 'commentator': {'type': 'string', 'description': 'Commentator/work name to fetch in full.'}, 'include_text': {'type': 'boolean', 'default': False, 'description': 'Include the text of connected sources (first `limit`).'}}}
get_jewish_calendar
Jewish calendar events
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range end YYYY-MM-DD.'}, 'omer': {'type': 'boolean', 'default': False, 'description': 'Daily Sefirat HaOmer count.'}, 'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Gregorian year (or Hebrew year if hebrew_year_mode=true). Used when start/end not given.'}, 'molad': {'type': 'boolean', 'default': False, 'description': 'Molad announcements.'}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Gregorian month 1-12 (with year).'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range start YYYY-MM-DD.'}, 'israel': {'type': 'boolean', 'default': False, 'description': 'Use the Israel holiday/parsha schedule instead of the Diaspora one.'}, 'parsha': {'type': 'boolean', 'default': True, 'description': 'Weekly Torah portion on Shabbat.'}, 'yizkor': {'type': 'boolean', 'default': False}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (use with longitude + timezone instead of location).'}, 'learning': {'type': 'array', 'items': {'enum': ['daf_yomi', 'mishna_yomi', 'nach_yomi', 'tanakh_yomi', 'yerushalmi_yomi', 'rambam_1_chapter', 'rambam_3_chapters', 'chofetz_chaim'], 'type': 'string'}, 'description': 'Daily learning cycles to include.'}, 'location': {'type': 'string', '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.'}, 'timezone': {'type': 'string', 'description': 'IANA timezone, required with latitude/longitude, e.g. "America/New_York".'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees.'}, 'minor_fasts': {'type': 'boolean', 'default': True}, 'hebrew_names': {'type': 'boolean', 'default': False, 'description': 'Return event titles in Hebrew.'}, 'rosh_chodesh': {'type': 'boolean', 'default': True}, 'include_times': {'type': 'boolean', 'default': False, 'description': 'Include candle lighting / havdalah / fast times (needs a location).'}, 'candle_minutes': {'type': 'integer', 'maximum': 90, 'minimum': 10, 'description': 'Minutes before sunset for candle lighting (default 18; Jerusalem 40).'}, 'major_holidays': {'type': 'boolean', 'default': True}, 'minor_holidays': {'type': 'boolean', 'default': True}, 'modern_holidays': {'type': 'boolean', 'default': True, 'description': 'Yom HaAtzmaut, Yom HaShoah, etc.'}, 'havdalah_minutes': {'type': 'integer', 'maximum': 90, 'minimum': 20, 'description': 'Havdalah N minutes after sunset instead of at nightfall (e.g. 42, 50, 72).'}, 'hebrew_year_mode': {'type': 'boolean', 'description': 'Interpret year as a Hebrew year (e.g. 5787) and return the whole Hebrew year.'}, 'yom_kippur_katan': {'type': 'boolean', 'default': False}, 'special_shabbatot': {'type': 'boolean', 'default': True, 'description': 'Shabbat Shekalim, Zachor, HaGadol, etc.'}, 'hebrew_date_every_day': {'type': 'boolean', 'default': False, 'description': 'Add the Hebrew date for every day in range.'}}}
get_learning_schedules
Daily learning schedules
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD (default today).'}, 'custom': {'enum': ['ashkenazi', 'sephardi'], 'type': 'string', 'description': 'Haftarah custom.'}, 'israel': {'type': 'boolean', 'default': False}, 'timezone': {'type': 'string', 'description': "IANA timezone used for 'today'."}}}
get_library_statistics
Library statistics
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind'], 'properties': {'kind': {'enum': ['word_count', 'links_between_categories', 'text_availability'], 'type': 'string'}, 'title': {'type': 'string'}, 'language': {'enum': ['he', 'en'], 'type': 'string'}, 'category_a': {'type': 'string'}, 'category_b': {'type': 'string'}, 'version_title': {'type': 'string'}}}
get_manuscripts
Manuscript & early print images
Images of manuscripts and early printed editions (e.g. Vilna Shas, Venice 1523, Munich manuscript) for a passage, with image and thumbnail URLs.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref'], 'properties': {'ref': {'type': 'string', 'minLength': 2}}}
get_parasha
Parasha details
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parasha'], 'properties': {'parasha': {'type': 'string', 'description': 'Parasha name in English transliteration.'}}}
get_passage_context
Find the full passage a segment belongs to
Given one or more segment references (e.g. "Berakhot 2a:1"), return the full logical passage/sugya each belongs to.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['refs'], 'properties': {'refs': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'minItems': 1}}}
get_random_source_by_topic
Random source on a random topic
Get a random source together with the topic it illustrates — handy for a daily inspiration or quiz.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
get_random_text
Random text
Get a random passage, optionally limited to specific books or categories (e.g. categories ["Tanakh"], titles ["Psalms", "Proverbs"]).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'titles': {'type': 'array', 'items': {'type': 'string'}}, 'vowels': {'enum': ['full', 'none'], 'type': 'string', 'default': 'full', 'description': 'Hebrew vowels/cantillation: "full" keeps nikud, "none" strips it.'}, 'categories': {'type': 'array', 'items': {'type': 'string'}}}}
get_related_content
Everything related to a passage
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref'], 'properties': {'ref': {'type': 'string', 'minLength': 2}, 'include': {'type': 'array', 'items': {'enum': ['link_summary', 'topics', 'sheets', 'manuscripts', 'web_pages'], 'type': 'string'}, 'default': ['link_summary', 'topics', 'sheets', 'manuscripts', 'web_pages']}}}
get_seasonal_topic
Topic for this week's parsha / upcoming holiday
Get the curated topic for the current parsha (kind "parasha") or the current/upcoming holiday (kind "holiday"), with description and key sources.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'For holiday: date to check (default today).'}, 'kind': {'enum': ['parasha', 'holiday'], 'type': 'string'}, 'israel': {'type': 'boolean', 'default': False}}}
get_shabbat_times
Shabbat & Yom Tov times
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Any date in the week you want (defaults to this week).'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (use with longitude + timezone instead of location).'}, 'location': {'type': 'string', '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.'}, 'timezone': {'type': 'string', 'description': 'IANA timezone, required with latitude/longitude, e.g. "America/New_York".'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees.'}, 'candle_minutes': {'type': 'integer', 'maximum': 90, 'minimum': 10, 'description': 'Minutes before sunset for candle lighting (default 18; 40 for Jerusalem).'}, 'havdalah_minutes': {'type': 'integer', 'maximum': 90, 'minimum': 20, 'description': 'Havdalah N minutes after sunset; default is nightfall (tzeit, 8.5°).'}, 'include_readings': {'type': 'boolean', 'default': True, 'description': 'Include aliyah-by-aliyah Torah reading details.'}}}
get_sheet_tags
Source sheet tags
Source-sheet tags: "trending" (this week's trending tags), "all" (every tag, sorted by count or alphabetically), or a specific user's tags.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'kind': {'enum': ['trending', 'all', 'user'], 'type': 'string', 'default': 'trending'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 500, 'minimum': 1}, 'sort_by': {'enum': ['count', 'alpha'], 'type': 'string', 'default': 'count'}, 'user_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}
get_source_sheet
Get a source sheet
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}]}, 'maxItems': 10, 'minItems': 1}, 'max_sources': {'type': 'integer', 'default': 60, 'maximum': 200, 'minimum': 1}}}
get_task_status
Check a background task
Check the status/result of a background task (e.g. a long reference-detection job) by task_id.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'minLength': 4}}}
get_term
Look up a term
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".
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string'}}}
get_text
Get a Jewish text
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref'], 'properties': {'ref': {'type': 'string', 'minLength': 2, 'description': 'Text reference, e.g. "Genesis 1:1-10" or "Berakhot 2a".'}, 'vowels': {'enum': ['full', 'none'], 'type': 'string', 'default': 'full', 'description': 'Hebrew vowels/cantillation: "full" keeps nikud, "none" strips it.'}, 'language': {'enum': ['both', 'hebrew', 'english', 'all'], 'type': 'string', 'default': 'both', 'description': '"both" = original + translation; "all" = every available version.'}, 'footnotes': {'type': 'boolean', 'default': False, 'description': 'Keep translator footnotes inline.'}, 'max_segments': {'type': 'integer', 'default': 60, 'maximum': 400, 'minimum': 1, 'description': 'Max segments to return.'}, 'version_title': {'type': 'string', 'description': 'Exact version title to use (see get_text_versions).'}, 'translation_language': {'type': 'string', 'description': 'Translation language family instead of English, e.g. "french", "spanish", "german", "russian", "italian".'}}}
get_text_image
Shareable image of a verse
Generate a shareable image (PNG) of a short passage, sized for a social platform.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref'], 'properties': {'ref': {'type': 'string', 'minLength': 2, 'description': 'Short passage, ideally one verse/segment.'}, 'language': {'enum': ['en', 'he'], 'type': 'string', 'default': 'en'}, 'platform': {'enum': ['facebook', 'twitter', 'instagram'], 'type': 'string', 'default': 'facebook'}}}
get_texts_bulk
Get several short texts at once
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['refs'], 'properties': {'refs': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30, 'minItems': 1, 'description': 'List of references, e.g. ["Genesis 1:1", "Exodus 20:2", "Rashi on Genesis 1:1:1"].'}, 'vowels': {'enum': ['full', 'none'], 'type': 'string', 'default': 'full', 'description': 'Hebrew vowels/cantillation: "full" keeps nikud, "none" strips it.'}}}
get_text_versions
List editions/translations of a book
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['book'], 'properties': {'book': {'type': 'string', 'description': 'Book title, e.g. "Genesis", "Berakhot", "Mishneh Torah, Sabbath".'}, 'language': {'type': 'string', 'description': 'Filter by language code, e.g. "en", "he", "fr".'}}}
get_topic
Topic page (sources by theme)
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Topic slug, e.g. "shabbat", "prayer", "abraham".'}, 'max_sources': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 0}, 'include_source_text': {'type': 'boolean', 'default': False, 'description': 'Also fetch the text of the top sources (first 10).'}, 'include_related_topics': {'type': 'boolean', 'default': True}}}
get_topic_graph
Topic relationship graph
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".
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'link_type': {'type': 'string'}}}
get_torah_reading
Torah reading schedule (leyning)
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD (defaults to the coming Shabbat).'}, 'israel': {'type': 'boolean', 'default': False}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date for a range (max ~1 year).'}, 'triennial': {'type': 'boolean', 'default': False, 'description': 'Return triennial-cycle aliyot.'}, 'include_weekday': {'type': 'boolean', 'default': True, 'description': 'Include Monday/Thursday and Rosh Chodesh/holiday weekday readings.'}}}
get_user_profile
Public user profile
Public profile of a library user/author of source sheets, by profile slug (e.g. "dovid-birk").
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}}}
get_yahrzeit_dates
Yahrzeit, Hebrew birthday & anniversary dates
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entries'], 'properties': {'years': {'type': 'integer', 'default': 3, 'maximum': 20, 'minimum': 1, 'description': 'How many years ahead to list.'}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'date'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Original Gregorian date YYYY-MM-DD (date of passing, birth or wedding).'}, 'name': {'type': 'string', 'description': 'Name of the person or event.'}, 'type': {'enum': ['yahrzeit', 'birthday', 'anniversary'], 'type': 'string', 'default': 'yahrzeit'}, 'after_sunset': {'type': 'boolean', 'default': False, 'description': 'The event occurred after sunset.'}}}, 'maxItems': 10, 'minItems': 1}}}
get_zmanim
Halachic times (zmanim)
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD (default today).'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Optional end date for a range.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (use with longitude + timezone instead of location).'}, 'location': {'type': 'string', '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.'}, 'timezone': {'type': 'string', 'description': 'IANA timezone, required with latitude/longitude, e.g. "America/New_York".'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees.'}, 'use_elevation': {'type': 'boolean', 'default': False, 'description': 'Adjust sunrise/sunset for elevation.'}, 'include_seconds': {'type': 'boolean', 'default': False, 'description': 'Return times with seconds precision.'}}}
holiday_sources
Holiday guide with sources
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".
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'israel': {'type': 'boolean', 'default': False}, 'holiday': {'type': 'string', 'description': 'Holiday name; default is the next major/minor holiday from today.'}, 'max_sources': {'type': 'integer', 'default': 6, 'maximum': 15, 'minimum': 1}}}
list_book_titles
Search book titles
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1}, 'contains': {'type': 'string', 'description': 'Substring to match, e.g. "Rashi", "Mishneh Torah", "תהלים".'}, 'category_path': {'type': 'string', 'description': 'Limit to a category, e.g. "Talmud/Bavli".'}}}
list_source_sheets
Find source sheets
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).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'ref': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'sort_by': {'enum': ['views', 'date'], 'type': 'string', 'default': 'views'}, 'user_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}
list_translations
Translation languages & translated books
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'language': {'type': 'string'}}}
parse_reference
Parse / validate a reference
Validate and normalize a text reference: canonical English and Hebrew forms, the book it belongs to, its structure, and previous/next sections.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref'], 'properties': {'ref': {'type': 'string', 'minLength': 2}}}
parsha_study_pack
Parsha study pack
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Any date — uses that week's Shabbat reading. Default: this week."}, 'aliyah': {'type': 'integer', 'default': 1, 'maximum': 7, 'minimum': 1, 'description': "Which aliyah's text to include."}, 'israel': {'type': 'boolean', 'default': False}, 'vowels': {'enum': ['full', 'none'], 'type': 'string', 'default': 'full'}, 'parasha': {'type': 'string', 'description': 'Or a parsha name, e.g. "Vayera".'}, 'commentator': {'type': 'string', 'default': 'Rashi'}, 'verses_of_commentary': {'type': 'integer', 'default': 3, 'maximum': 10, 'minimum': 0}}}
recommend_topics
Topics for passages
Recommend topics relevant to one or more passages (e.g. for tagging a source sheet or finding themes in a set of verses).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['refs'], 'properties': {'refs': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'minItems': 1}}}
resolve_name
Resolve / autocomplete a name or reference
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'type': {'enum': ['ref', 'Topic', 'AuthorTopic', 'PersonTopic', 'TocCategory', 'Collection', 'User'], 'type': 'string', 'description': 'Restrict to one kind of result.'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 30, 'minimum': 1}}}
search_library
Full-text search of the library
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'size': {'type': 'integer', 'default': 15, 'maximum': 50, 'minimum': 1}, 'slop': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Allowed word distance for multi-word phrases (default 10 for texts).'}, 'sort': {'enum': ['relevance', 'chronological'], 'type': 'string', 'default': 'relevance'}, 'exact': {'type': 'boolean', 'default': False}, 'query': {'type': 'string', 'minLength': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'filters': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Category/book paths to restrict to.'}, 'search_in': {'enum': ['texts', 'sheets'], 'type': 'string', 'default': 'texts'}}}
search_topics
Search/list topics
List topics, optionally filtered by a word in the title. Without a filter returns the most prominent topics.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'contains': {'type': 'string'}}}
shabbat_briefing
Shabbat briefing
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Any date in the week (default this week).'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (use with longitude + timezone instead of location).'}, 'location': {'type': 'string', '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.'}, 'timezone': {'type': 'string', 'description': 'IANA timezone, required with latitude/longitude, e.g. "America/New_York".'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees.'}, 'candle_minutes': {'type': 'integer', 'maximum': 90, 'minimum': 10}, 'havdalah_minutes': {'type': 'integer', 'maximum': 90, 'minimum': 20}}}
todays_learning
Today in Jewish time & learning
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'only': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only these schedules, e.g. ["Daf Yomi", "Daily Rambam", "Parashat Hashavua"].'}, 'israel': {'type': 'boolean', 'default': False}, 'timezone': {'type': 'string', 'default': 'America/New_York'}, 'include_opening_text': {'type': 'boolean', 'default': False, 'description': 'Include the first lines of each study item.'}}}
Added
shabbat_briefing
Sept. 25, 2026, 2:40 a.m.
Added
holiday_sources
Sept. 25, 2026, 2:40 a.m.
Added
parsha_study_pack
Sept. 25, 2026, 2:40 a.m.
Added
todays_learning
Sept. 25, 2026, 2:40 a.m.
Added
get_user_profile
Sept. 25, 2026, 2:40 a.m.
Added
get_collections
Sept. 25, 2026, 2:40 a.m.
Added
check_sheet_modified
Sept. 25, 2026, 2:40 a.m.
Added
get_sheet_tags
Sept. 25, 2026, 2:40 a.m.
Added
list_source_sheets
Sept. 25, 2026, 2:40 a.m.
Added
get_source_sheet
Sept. 25, 2026, 2:40 a.m.
Added
get_seasonal_topic
Sept. 25, 2026, 2:40 a.m.
Added
get_random_source_by_topic
Sept. 25, 2026, 2:40 a.m.
Added
recommend_topics
Sept. 25, 2026, 2:40 a.m.
Added
get_topic_graph
Sept. 25, 2026, 2:40 a.m.
Added
search_topics
Sept. 25, 2026, 2:40 a.m.
Added
get_topic
Sept. 25, 2026, 2:40 a.m.
Added
get_parasha
Sept. 25, 2026, 2:40 a.m.
Added
get_learning_schedules
Sept. 25, 2026, 2:40 a.m.
Added
dictionary_autocomplete
Sept. 25, 2026, 2:40 a.m.
Added
dictionary_lookup
Sept. 25, 2026, 2:40 a.m.
Added
get_term
Sept. 25, 2026, 2:40 a.m.
Added
get_library_statistics
Sept. 25, 2026, 2:40 a.m.
Added
get_author_works
Sept. 25, 2026, 2:40 a.m.
Added
get_book_raw_index
Sept. 25, 2026, 2:40 a.m.
Added
get_book_info
Sept. 25, 2026, 2:40 a.m.
Added
list_book_titles
Sept. 25, 2026, 2:40 a.m.
Added
browse_library
Sept. 25, 2026, 2:40 a.m.
Added
get_text_image
Sept. 25, 2026, 2:40 a.m.
Added
get_passage_context
Sept. 25, 2026, 2:40 a.m.
Added
get_random_text
Sept. 25, 2026, 2:40 a.m.