About FLOGVIT.bible
FLOGVIT.bible is an MCP server for assistants that need to read and search Bible texts and study material. It covers multiple translations, Hebrew and Greek source texts, and related study tools, with links back to source pages.
Key features
- 01Retrieve passages across up to five editions
- 02Search Bible verses by words
- 03Read and search Hebrew or Greek text
- 04Explore cross-references and chapter studies
- 05Find people, topics, and daily verse
Use cases
- 01Compare a passage across Bible editions
- 02Look up a Hebrew or Greek word across verses
- 03Research people, themes, and context for a chapter
MCP support
The server exposes Bible passages, search, original-language text, cross-references, study material, people, topics, and edition information to MCP clients over Streamable HTTP. It requires no account or key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.bible.flogvit.com/mcpclaude mcp add --transport http flogvit-bible https://mcp.bible.flogvit.com/mcp{"mcpServers":{"flogvit-bible":{"type":"http","url":"https://mcp.bible.flogvit.com/mcp"}}}Open in Cursor{"servers":{"flogvit-bible":{"type":"http","url":"https://mcp.bible.flogvit.com/mcp"}}}Open in VS Code{"mcpServers":{"flogvit-bible":{"type":"http","url":"https://mcp.bible.flogvit.com/mcp"}}}{"mcpServers":{"flogvit-bible":{"serverUrl":"https://mcp.bible.flogvit.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEbible.flogvit.com MCP server
Lets an AI assistant read and search the Bible on bible.flogvit.com: the open OSNB, OSNN and OSEN translations, the Hebrew and Greek source texts, and the site's study material. Every answer links back to the page it came from.
Address: https://mcp.bible.flogvit.com/mcp — Streamable HTTP, no account,
no key.
Connect an assistant
The full guide, for every client and in all eight languages, is
bible.flogvit.com/en/mcp. A browser that
opens https://mcp.bible.flogvit.com/ gets the short version of it. Both are
rendered from ../src/lib/mcp-info.ts and the mcp.* keys in
../src/lib/dictionaries-mcp.ts, and test/landing.test.ts holds the tool
list there against tools/list.
Claude (desktop app and claude.ai): Settings → Connectors → Add custom connector. Paste the address, leave authentication empty.
ChatGPT: turn on developer mode under Settings → Apps & Connectors, then create a connector with the address and no authentication.
Claude Code:
claude mcp add --transport http flogvit-bible https://mcp.bible.flogvit.com/mcp
Cursor (~/.cursor/mcp.json):
{ "mcpServers": { "flogvit-bible": { "url": "https://mcp.bible.flogvit.com/mcp" } } }
VS Code (.vscode/mcp.json):
{ "servers": { "flogvit-bible": { "type": "http", "url": "https://mcp.bible.flogvit.com/mcp" } } }
Then ask as you normally would — "what does John 3:16 say in the Greek?", "where does the Bible talk about forgiveness?", "who was Tamar?". The assistant picks the tools itself.
The tools
| Tool | What it answers |
|---|---|
get_passage | One or more passages, side by side in up to five editions, optionally with the translators' notes |
search_bible | Verses containing all the given words, in one edition, optionally one book or testament |
get_original_text | The Hebrew or Greek of a passage, word by word with explanations (in Norwegian) |
search_original_word | Every verse where a Hebrew or Greek word occurs |
get_cross_references | Related passages for each verse |
get_chapter_study | Summary, context, key words, people, themes, stories, prophecies, parallels and timeline for a chapter |
get_book_overview | An introduction to a book |
search_people, get_person | People of the Bible, their family and key events |
search_topics, get_topic | Stories, themes, prophecies and gospel parallels |
get_daily_verse | Today's verse |
list_editions | The editions and their licences |
References are read in English and Norwegian style alike — John 3:16-18,
Joh 3,16.18, 1 Cor 13:4-7, Gen 1:1-2:3, several separated by ; — and
book names in all eight site languages, plus the Norwegian letter names
(«Romerbrevet»).
Quoted Bible text carries its source line. The translations are CC BY 4.0, and the attribution has to follow the text wherever the assistant puts it.
Where it is listed, and how to take it down
server.json is the entry in the official MCP Registry. Its version must be
the server's SERVER_VERSION (src/server.ts), and the registry never accepts
the same version twice: change the entry ⇒ raise both, then publish.
cd mcp
mcp-publisher validate # checks against the live registry
mcp-publisher login github --token "$(gh auth token)" # gh must be logged in as flogvit
mcp-publisher publish
curl -s 'https://registry.modelcontextprotocol.io/v0/servers?search=io.github.flogvit/bible'
mcp-publisher is brew install mcp-publisher. The namespace is GitHub
(io.github.flogvit/…), not DNS (com.flogvit/…): flogvit.com's DNS is edited
by hand at Domeneshop, and a GitHub login is something a script can do.
| Where | Status (2026-10-26) | Take it down |
|---|---|---|
| MCP Registry | published, 1.0.0 | mcp-publisher status --status deleted --all-versions --message "<why>" io.github.flogvit/bible — hides it; --status active brings it back. The registry never deletes metadata. |
| Glama | listed, read from the registry | goes with the registry entry |
| PulseMCP | reads the registry by itself (its own form is closed) | goes with the registry entry |
| mcp.so | submitted: chatmcp/mcpso#6153 | close the issue and ask there |
| mcpservers.org | submitted through the free form (review within two weeks) | email [email protected] |
| awesome-remote-mcp-servers | PR punkpeye/awesome-remote-mcp-servers#2991, from the fork flogvit/awesome-remote-mcp-servers | close the PR; once merged, a PR removing the three lines. Remote-only servers go in this list, not in awesome-mcp-servers — its CONTRIBUTING says so. |
| Smithery | not submitted — needs a login as flogvit | delete the server in Smithery's settings |
| cursor.directory | not submitted — needs a login | remove it there |
| Claude's connector directory | not submitted — only a Pro/Max/Team account can submit, at claude.ai/directory/manage → Submit new → MCP connector | remove the listing in the same portal |
The three that are not submitted need nothing but the login: the address, the description and every field Anthropic's form asks for (one-liner, description, documentation and privacy URLs, support contact, use cases, example prompts) are written out in issue #157.
What each one got, and when, is in issue #157 on GitHub.
The guide page is /mcp in ../src/routes/pages/mcp.tsx. Removing it means
removing the route, the footer link in ../src/views/layout.tsx, /mcp in
../src/lib/sitemap-paths.ts and test/pages.ts, and the pointer in
llms.txt (../src/routes/seo.ts) — then deploying bibel.
Run it locally
Needs the local database the site uses (../.env, DB_PORT=3326).
cd mcp
bun install
bun run dev # http://localhost:8080/mcp
Try it with the MCP Inspector (npx @modelcontextprotocol/inspector, transport
Streamable HTTP, URL http://localhost:8080/mcp), or by hand:
curl -s -X POST localhost:8080/mcp \
-H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_passage","arguments":{"reference":"John 3:16"}}}'
GET /healthz checks that the database user can read every content table and
reads John 3:16: 200 with the verse, or 503 with the reason — a missing grant is
named.
Tests
cd mcp && bun run test && bun run typecheck
test/server.test.ts calls every tool over HTTP against the local database and
checks that each answer links only to localised pages on bible.flogvit.com (or
the sources the licence names) and never shows the site's [ref:…] markup.
test/grants.test.ts creates a local MySQL user with exactly the grants the
server gets in production, runs every tool as that user, and checks that the
user tables refuse it — a tool that needs a table outside the grants fails
there — and that /healthz names a table whose grant is revoked. test/books.test.ts checks that every book name and abbreviation the
site shows, in every language, finds its own book.
bibel's own bun test in the repo root does not run these (bunfig.toml):
this package has its own dependencies.
How it is built
- Its own package, its own image.
@modelcontextprotocol/sdkand its dependencies live here and never reach the site's image. The image is built from the repo root (docker build -f mcp/Dockerfile .) because the server reads the database through the site's own getters insrc/lib/— an answer here is the page there. - Its own database user, read-only on content.
src/grants.tsgrants SELECT on the tables the import owns (CONTENT_TABLES) and nothing else, so users' notes, manuscripts and shares are out of reach. - Stateless. One MCP server per request; any request can land on any process.
- A global cap, not a per-IP one. Claude and ChatGPT call connectors from
their own servers, so one IP is many users. Over the cap the server answers
503 with
Retry-Afterinstead of queueing without end.
Configuration
| Variable | Default | |
|---|---|---|
PORT | 8080 | |
DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME | as the site | the database user should have only grantStatements() |
DB_TLS | off | 1 connects over TLS — for a database user that is refused in plain text |
DB_POOL_MAX | 5 | |
MCP_MAX_CONCURRENT | 4 | requests served at once |
bun scripts/grants.ts <database> prints the GRANT statements for the
database user. They are derived from CONTENT_TABLES, but applied only when
someone runs them: when the import gets a new content table, run them again as
the database admin. Until then /healthz answers 503 and names the table.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.