About shebanq-mcp

Query the BHSA Hebrew Bible in plain language, and keep the query.

What is this for

shebanq-mcp is a front door to the BHSA, the ETCBC's linguistic database of the Hebrew Bible. You ask in plain language; the answer is a real, runnable, citable query in two languages, with its results. The query stays in your hands the whole way.

It serves three kinds of work:

One honest caution, because it is the most important thing on this page: a query can be perfectly valid and still encode a different question than you meant. Validation catches malformed queries; it cannot catch a faithful answer to the wrong question. That is why the query is always shown, why the examples carry engine-verified counts, and why a conversion that would change a query's meaning is refused with the reason. Read the query before you cite it. This tool is built to make that reading easy. Each answer also lists what its query assumes about BHSA's encoding, so a valid query that answers a slightly different question than you meant is caught before it is cited.

How to use

Ask, read the query, run it

Type a question the way you would ask a colleague: "all feminine plural nouns", "where does bara occur?". Click Translate to MQL and the generated query appears, editable, before anything runs. Read it. Change it if you like. Then Run query executes it against the BHSA and the results come back with vocalized Hebrew, glosses, and counts. Beside every MQL query the answer also shows its Text-Fabric equivalent, derived by plain code, for scholars who work in notebooks.

The reference checkbox wraps the query in a verse block so each hit carries its book, chapter, and verse. Untick it for the plain form. Toggling never re-translates; it switches between the two forms of the same query.

Every query comes with a plain-language reading. A one-sentence summary says what the whole query looks for, and How this query works breaks it down part by part: each object block, each feature and value, the rule that enumerated codes are unquoted and free text is quoted, and the GET clause. It is composed from the query itself by plain code, with no model, so it cannot drift from what the query actually says. Beside it, a short note lists what the query assumes about BHSA's encoding, so a valid query that answers a slightly different question than you meant is caught before you cite it.

Review the lexemes the AI chose

Some questions name a meaning rather than a single word: "a verb of motion", "words for fear". There is no one lexeme for these, so the translator answers by assembling a set of lexemes joined with OR. That set is the model's guess. The BHSA, as queried here, has no semantic-field feature, so there is no authoritative list to check the set against, and a wrong or non-existent member can slip in. So the set is shown in full: each lexeme with its dictionary gloss and how often it occurs in the corpus, with members that are not real BHSA lexemes flagged and left unticked. Untick the ones that do not belong, keep the ones that do, and re-run the curated set. The model proposes; you judge and keep.

Save what you keep

Nothing is saved automatically. When a query is right, click Save to record it to your history: a Recent tab of everyone's questions and a My translations tab of your own, each with a shareable permalink that reopens and re-runs the query. Only a valid query can be saved, so a set with a flagged lexeme has to be corrected first. This keeps the history a record of queries you read and kept, not of every first draft.

Check a query you already have

Check MQL (in the top navigation) takes a query you paste or write and checks it without running anything. A valid query is described back in plain language; a malformed one is reported with exactly what is wrong and, where possible, a suggested correction. The check and the description are plain code; any suggested correction is generated by the model, marked as such, and re-validated before it is shown. A lexeme the database does not contain (the common slip is a missing part-of-speech suffix, so the divine name is lex='JHWH/', not 'JHWH') is caught here too, against the full BHSA lexeme inventory.

Turn a result into an answer

Two buttons on any result turn a query into a research answer. Distribution is a per-book count of where the phenomenon concentrates across the Bible, computed exactly over the whole result set rather than the displayed sample, and it carries the export: the full result set to CSV or the clipboard with the book chapter:verse reference. Concordance shows each hit in its full verse with the matched word highlighted, paged with a Load more button. A result too large to export still shows where it clusters and reads in context; an oversized export is refused plainly rather than returning a partial, corpus-biased sample.

Count occurrences, not just words

A question that asks how many times or how often a word or construction occurs reports the number of occurrences of the pattern, not the number of matched word rows, counted from the query's core pattern. Asking for the matches themselves still returns the rows.

The converter

The TF → MQL converter (link at the top) exists for citation. Work in your Text-Fabric notebook, paste your search template into the converter, and take the resulting MQL to SHEBANQ: save it there and you have a permanent link you can cite in print, one your readers can click and re-run. The conversion is deterministic, plain code with no AI involved, so the same input always gives the same output. A template using constructs MQL cannot express is refused with a plain explanation, never converted approximately. Note the data version when you cite: this server is pinned to ETCBC 2021.

From an MCP client

The same engine is a remote MCP endpoint: https://shebanq-mcp.onrender.com/mcp. Add it in Claude.ai under Settings → Connectors → Add custom connector, or bridge it with mcp-remote in any client that loads local servers.

The tools, one line each:

Methodology

Generative AI can draft a database query from a plain-language question. That raises a fair worry for scholarship: if a machine writes the query, does the scholar still learn anything? This project takes a position. The translation was never the whole of the work. The scholarly act is judging whether a query faithfully captures a form-to-function question, and reading what a result does and does not show. So the design keeps the query visible and central:

AI as a way in, not a way around.

Data and credits

The linguistic data is the BHSA (ETCBC 2021), created and maintained by the Eep Talstra Centre for Bible and Computer. Queries run on the Emdros text database engine and on Text-Fabric. SHEBANQ hosts the citable saved queries this project links into.

Built by Jose Fresco Benaim, archived with DOI 10.5281/zenodo.20625355.


← Back to the web app