MCP — ask your model

Nabu’s MCP server is read-only: a model can search, read, align, and look things up in the library, quote what it finds, and cite it, but nothing it does can change the collection. This page runs the demo, a public image (release 1.0.0) with an open slice of the library baked in. Worked research examples and wiring the server to your own full library are on the Tools page: Ask your model.

The tools

The server answers tools/list with these 14 tools, every one read-only and every payload stamped with the license class of the text it carries. Each tool’s full input schema and usage notes come back from tools/list itself.

Tool What it does
nabu_search Search the corpus
nabu_show Read passages by URN
nabu_concord Concordance (keyword in context)
nabu_align Cross-source alignment
nabu_define Dictionary lookup
nabu_etym Reconstruction walk
nabu_parallels Intertext parallels
nabu_cognates Cognates in parallel
nabu_links Mined links graph
nabu_char Character card
nabu_place Place desk
nabu_signs Cuneiform sign desk
nabu_clarify Reference normalizer
nabu_status Corpus coverage status

A sample call

One tools/call against the demo image (the protocol is JSON-RPC 2.0, one object per line on stdin and stdout). The request:

{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"nabu_show","arguments":{"urn":"urn:nabu:sblgnt:john:1.1"}}}

The reply’s content[0].text is a JSON document. Unwrapped, it reads as follows (the provenance load record is trimmed here):

{
  "type": "passage",
  "urn": "urn:nabu:sblgnt:john:1.1",
  "language": "grc",
  "license_class": "attribution",
  "source": "sblgnt",
  "document_urn": "urn:nabu:sblgnt:john",
  "document_title": "ΚΑΤΑ ΙΩΑΝΝΗΝ",
  "text": "Ἐν ἀρχῇ ἦν ὁ λόγος, καὶ ὁ λόγος ἦν πρὸς τὸν θεόν, καὶ θεὸς ἦν ὁ λόγος.",
  "sequence": 0,
  "revision": 1,
  "withdrawn": false,
  "provenance": [ … ]
}

Run the demo

The public image ghcr.io/arvicco/nabu-demo:1.0.0 serves the Greek New Testament, Hebrew Bible, Latin Vulgate, World English Bible, LSJ and Lewis & Short through the read-only MCP server. There is nothing to clone and no sync to run. Every source in the image and its license are listed in the license table below. The full library is a local build (Quickstart).

Docker (stdio):

docker run -i --rm ghcr.io/arvicco/nabu-demo:1.0.0

Claude Code:

claude mcp add nabu -- docker run -i --rm ghcr.io/arvicco/nabu-demo:1.0.0

Any MCP client that reads the standard mcpServers configuration (Claude Desktop’s claude_desktop_config.json, Cursor’s mcp.json, and others):

{
  "mcpServers": {
    "nabu": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/arvicco/nabu-demo:1.0.0"
      ]
    }
  }
}

Check that it answers: pipe the protocol handshake into the image. The second line of output is the tools/list reply, naming all 14 tools:

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"check","version":"1"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
  | docker run -i --rm ghcr.io/arvicco/nabu-demo:1.0.0

Editors, one click (both need Docker installed locally):

Docker Desktop’s MCP Toolkit: a one-entry custom catalog (docker-mcp-catalog.yaml):

docker mcp catalog import https://arvicco.github.io/nabu/docker-mcp-catalog.yaml
# current Toolkit CLIs, which replaced `import`:
docker mcp catalog create nabu --from-legacy-catalog https://arvicco.github.io/nabu/docker-mcp-catalog.yaml

Over HTTP (streamable HTTP; PORT sets the port, default 8080):

docker run --rm -p 8080:8080 ghcr.io/arvicco/nabu-demo:1.0.0 bin/nabu mcp --http
# endpoint: POST http://localhost:8080/mcp

Hosted, one click

Both buttons deploy the same prebuilt image, release 1.0.0, as an HTTP endpoint at https://<your-service>/mcp. The demo answers comfortably within a 512 MB free instance.

Access control over HTTP. Local stdio is the default: the client starts the container itself and talks to it over a pipe, so nothing listens on the network. HTTP mode is different. The server has no authentication and no TLS of its own, and inside the image it binds every interface, so anyone who can reach /mcp can call every tool. The tools are read-only and the demo data is openly licensed, but a hosted endpoint you don’t mean to be public needs its own access control in front of it (a reverse proxy that authenticates, a private network, or your platform’s access rules), with TLS terminated there. Browser requests from origins other than loopback are refused unless listed in NABU_MCP_ALLOWED_ORIGINS.

What the demo carries

The demo is built only from sources whose license class is open or attribution, and the build refuses anything else. The demo set is the texts and dictionaries in the image; the instruments are the registries and gazetteers the tools read. The image’s /demo/demo-census.json lists the same sources with their document and passage counts.

Source Role Class License
SBL Greek New Testament (SBLGNT) (sblgnt) demo set attribution CC BY 4.0
Biblia Sacra Vulgata Clementina (Tweedale/eBible.org, via open-bibles) (vulgate) demo set open Public Domain
World English Bible (eBible.org, via open-bibles) (eng-web) demo set open Public Domain
Open Scriptures Hebrew Bible (Westminster Leningrad Codex + OSHM morphology) (oshb) demo set open WLC text: Public Domain (“This work is based on The Westminster Leningrad Codex, which is in the public domain.” — LICENSE.md). Lemma/morphology layer: CC BY 4.0 (“Lemma and morphology data are licensed under a Creative Commons Attribution 4.0 International license. For attribution purposes, credit the Open Scriptures Hebrew Bible Project.” — README.md)
Perseus Lexica — LSJ + Lewis & Short (lexica) demo set attribution CC BY-SA 4.0 (credit Perseus Digital Library; data from github.com/PerseusDL/lexica)
CIGS — Cuneiform Inscriptions Geographical Site Index (gazetteer instrument) (cigs) instrument attribution CC BY 4.0 (Zenodo record verbatim: “Creative Commons Attribution 4.0 International”)
nabu-lects — the lect registry (anchor x stage x variety x orthography resolver) (nabu-lects) instrument attribution CC BY 4.0 (repo LICENSE verbatim: “This work — the lect registry (lects.yml), the code mapping (codemap.yml), the documentation, and the validation tooling in this repository — is licensed under the Creative Commons Attribution 4.0 International License”)
nabu-places — the place-matching decisions registry (nabu-places) instrument attribution CC BY 4.0 (repo LICENSE verbatim: “Creative Commons Attribution 4.0 International (CC BY 4.0)”)
Pleiades — ancient-world gazetteer (place resolver instrument) (pleiades) instrument attribution CC BY 3.0 (downloads page verbatim: “Creative Commons Attribution 3.0 License (cc-by)”)
Trismegistos Geo — places database (gazetteer instrument) (trismegistos-geo) instrument attribution CC BY-SA 4.0 (dataservices page verbatim: “We offer you open access to our data on a CC BY-SA 4.0 license.”)