Read-only MCP gateway over the Yochai knowledge graph of the Jewish textual tradition (1,000+ works: Tanakh, Talmud, Midrash, Halakha, Kabbalah, Hasidut, philosophy, responsa and their commentaries)
Strong semantic knowledge graph API with 20 well-named, read-only tools. All tools have descriptions (avg 156 chars) and input schemas with types. Naming follows verb_noun pattern consistently (search_*, get_*, list_*, browse_*). Schemas are complete with parameter types and descriptions. However, output schemas are not explicitly documented in the source, inferred from code comments and return statements. Error handling is minimal; no recovery guidance or actionable error messages. No tool annotations (readOnlyHint, etc.) despite all being read-only. Parameter descriptions are adequate but lack format constraints (e.g., no regex patterns, min/max for limits). Missing pagination metadata (total_count, next_cursor) in list responses.
With a constellation_id: that constellation plus its member concepts. Otherwise lists constellations (optionally within a galaxy_id).
Commentary passages on a base text. Pass a base slug ('bavli-berakhot') or canonical id ('bavli-berakhot_5_1').
Full detail for one canonical concept (definition, guiding question, gateway insight, difficulty, traditions, era span).
Concepts related to this one via typed edges: DEVELOPS, CONTRADICTS, RESONATES, EXEMPLIFIES, APPLIES_TO, ADDRESSES, SHARES_METHOD, CONTEXTUALIZES, COMMENTARY. Filter with rel_types.
The corpus passages that ground a canonical concept — read the texts behind the abstraction.
The Sefaria/citation connection graph for a passage (CONNECTS_TO): commentary, quoting-commentary, midrash, targum, cross-Talmud/Tanakh links, mesorat hashas, ein mishpat, and more. Pass a canonical id or text slug; filter by `kinds`.
Output schemas not explicitly documented. Return types are inferred from code comments and implementation, not declared in tool definitions. LLMs cannot reliably predict response structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 20 tools are read-only but lack explicit MCP annotations to signal this to clients.
Pagination metadata missing. List tools (list_galaxies, list_texts, browse_constellation) accept 'limit' but do not return total_count or next_cursor. Large result sets risk context window exhaustion.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | <=2025-11-25 | v2 |
A corridor's ordered learning modules (concept, domain, anchor quote).
List the learning corridors built over a text.
People, places, themes, and concepts mentioned in a semantic unit (su_id comes from search_corpus results).
Learning order: concepts to study BEFORE this one, and concepts it unlocks (walks the prerequisite DAG).
Entity-to-entity relations found within texts: DEVELOPS, CONTRADICTS, EXEMPLIFIES, APPLIES_TO, CONTEXTUALIZES, EQUIVALENT.
For a Talmud passage: its sugya (driving question, conclusion/maskana) and the ordered dialectical moves (speaker, stratum). Pass a sugya_id or TextUnit canonical_id (e.g. 'bavli-arakhin_3_1').
Chronological context: concepts that historically precede/follow this one (distinct from the pedagogical prerequisite order).
The 11 top-level thematic galaxies — the broadest map of the tradition.
List corpus texts, optionally filtered by genre (e.g. 'commentary', 'halakhic_code', 'kabbalah').
Fetch an exact passage by slug-style reference, e.g. 'bereishit_1_1' or 'bavli-berakhot_5_1'.
Run your OWN read-only Cypher and traverse the graph freely — the raw doorway. Writes/admin are blocked and a LIMIT is enforced. See the schema in docs/schema.md for every label, relationship type, and property. Use search_corpus for semantic search (vector); use this for structural graph traversal.
Find canonical concepts by meaning. Returns concept name, definition, difficulty, and whether it's a keystone idea.
Semantic search over the corpus. Returns bilingual passages (Hebrew+English) with a citation reference and a deep link. Optionally scope to one text by slug (text_filter, e.g. 'moreh-nevuchim').
Search the extraction layer (people, places, themes, concepts, teachings, tensions, questions, …) by name/description. Filter by entity_type. This layer is machine-extracted — rich evidence, not adjudicated truth.
Error handling lacks recovery guidance. No actionable error messages or suggestions. E.g., lookup_passage returns 'Pass a slug-style ref like...' but does not suggest search_corpus as an alternative discovery path.
Parameter constraints not formalized. 'limit' parameters lack min/max bounds; 'query' parameters lack length constraints. No regex patterns or enum constraints for reference formats.