1. Conduid
  2. Search
  3. Zayit MCP
MCP server · Search

Zayit MCP

MCP server for the Zayit Jewish texts library — SQLite + Lucene 10, 7 tools, stdio & HTTP

Unclaimed search
34Low

Scored 5 months ago · breakdown

About Zayit MCP

Zayit MCP is an MCP server published by Sivan22 in the Search category: mCP server for the Zayit Jewish texts library — SQLite + Lucene 10, 7 tools, stdio & HTTP.

The repository has 3 stars and 0 forks, with the last commit 5 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/Sivan22/zayit-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Zayit MCP

Powered by Claude · Grounded in docs

I know everything about Zayit MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Zayit MCP Server

An MCP (Model Context Protocol) server that exposes the Zayit Jewish texts library to AI assistants. Wraps Zayit's SQLite database and Lucene search indices — no network required, fully offline.

Prerequisites

  • Zayit installed on the same machine (provides the database and Lucene indices)
  • Java 21+ — required by Lucene 10.x

Installing Java 21

Platform Command
Windows winget install EclipseAdoptium.Temurin.21.JDK
macOS brew install --cask temurin@21
Ubuntu/Debian sudo apt install temurin-21-jdk (add Adoptium repo first)
Fedora/RHEL sudo dnf install temurin-21-jdk

Building

The Gradle wrapper is included — no separate Gradle installation needed.

# Linux / macOS
chmod +x gradlew
./gradlew shadowJar

# Windows
gradlew.bat shadowJar

Output: build/libs/zayit-mcp.jar (~35 MB, self-contained)

Running

stdio mode (for Claude Desktop / MCP clients)

# Linux / macOS
chmod +x run-stdio.sh
./run-stdio.sh

# Windows
run-stdio.bat

HTTP / SSE mode (for testing or remote access)

# Linux / macOS
./run-http.sh 3001

# Windows
run-http.bat 3001

The MCP endpoint is at http://localhost:3001/mcp.

Custom data directory

If Zayit stores its data somewhere non-standard, set ZAYIT_DATA_DIR:

ZAYIT_DATA_DIR=/path/to/databases ./run-stdio.sh

Data paths (auto-detected per OS)

Platform Path
Windows %APPDATA%\io.github.kdroidfilter.seforimapp\databases
macOS ~/Library/Application Support/io.github.kdroidfilter.seforimapp/databases
Linux ~/.local/share/io.github.kdroidfilter.seforimapp/databases (XDG)

Claude Desktop configuration

Windows

%APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "zayit": {
      "command": "C:\\path\\to\\zayit-mcp\\run-stdio.bat"
    }
  }
}

macOS / Linux

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
~/.config/Claude/claude_desktop_config.json (Linux):

{
  "mcpServers": {
    "zayit": {
      "command": "/path/to/zayit-mcp/run-stdio.sh"
    }
  }
}

Tools

search_books

Search for books by title using SQLite LIKE.

Parameter Type Default Description
query string required Hebrew or partial title
limit integer 20 Max results

Returns: id | title | category | lines=N [primary]

Example: query="בראשית" → בראשית, בראשית רבה, אגדת בראשית …


search_ref

Fast prefix lookup via the Lucene reference index.

Parameter Type Default Description
query string required Title prefix (Hebrew)
limit integer 10 Max results

Returns: book_id=N | title


get_text

Retrieve lines from a book by numeric ID with pagination.

Parameter Type Default Description
book_id integer required From search_books or search_ref
offset integer 0 Line offset
limit integer 50 Lines to return (max 200)

get_text_by_ref

Retrieve text by Hebrew reference string — the ergonomic alternative to get_text.

Parameter Type Default Description
ref string required e.g. בראשית א, א or ברכות ב
context integer 2 Lines of context before/after each hit
limit integer 10 Max hits

Returns: Matched line (marked ►) with surrounding context, across all books containing that reference.

Example: ref="בראשית א, א" finds Genesis 1:1 in the base text plus every commentary quoting it.


get_book_toc

Get the hierarchical chapter/section table of contents for a book.

Parameter Type Description
book_id integer Book ID

Returns: Indented TOC with line_id pointers per section. Use the line_id values as offset in get_text.

Example output:

▸ בראשית → line_id=1
  • פרק א → line_id=2
  • פרק ב → line_id=34
  ...

get_links

Cross-references for a book or specific line, from the link table.

Parameter Type Default Description
book_id integer required Book to find links for
line_id integer — Restrict to a specific line
connection_type string — Commentary, Targum, Reference, Source, Other
limit integer 30 Max links

Returns: Source and target refs with 120-char text snippets and connection type.


text_search

Full-text search across all ~6,000 books using Lucene. Nikud and teamim are stripped automatically; final letters (ך→כ, ם→מ, ן→נ, ף→פ, ץ→צ) are normalized.

Parameter Type Default Description
query string required Lucene query (see syntax below)
book_id integer — Restrict to one book
limit integer 20 Max results
offset integer 0 Pagination offset

Lucene query syntax:

Syntax Example Meaning
Terms (AND by default) תורה משה both words must appear
Explicit OR אברהם OR יצחק either word
Exclude תורה -משנה תורה without משנה
Phrase "ואהבת לרעך כמוך" exact phrase
Prefix wildcard ברא* ברא, בראשית, בראה …
Single-char wildcard ב?אשית
Fuzzy שלום~ similar spelling
Proximity "תורה משה"~5 within 5 words of each other
Grouping (אברהם OR יצחק) שרה

Architecture

AI client
    │  MCP JSON-RPC (stdio or HTTP/SSE)
    ▼
zayit-mcp.jar
    ├── SQLite (seforim.db)          → search_books, get_text, get_text_by_ref,
    │                                   get_book_toc, get_links
    └── Lucene (seforim.db.lucene,   → text_search, search_ref
                seforim.db.lookup.lucene)

Stack: Kotlin 2.3 · MCP SDK 0.12.0 · Lucene 10.3.2 · SQLite JDBC 3.49 · Ktor 3.1 (HTTP mode)

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Zayit MCP

How do I install Zayit MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Zayit MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Zayit MCP still maintained?

Yes — the last commit was 5 months ago. The repository has 3 stars and 0 forks.