mcpField
F
FLOGVIT.bible

FLOGVIT.bible

Remote
bible.flogvit.comOther0Updated today

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

  1. 01Retrieve passages across up to five editions
  2. 02Search Bible verses by words
  3. 03Read and search Hebrew or Greek text
  4. 04Explore cross-references and chapter studies
  5. 05Find people, topics, and daily verse

Use cases

  1. 01Compare a passage across Bible editions
  2. 02Look up a Hebrew or Greek word across verses
  3. 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.

Endpointhttps://mcp.bible.flogvit.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

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 README

bible.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

ToolWhat it answers
get_passageOne or more passages, side by side in up to five editions, optionally with the translators' notes
search_bibleVerses containing all the given words, in one edition, optionally one book or testament
get_original_textThe Hebrew or Greek of a passage, word by word with explanations (in Norwegian)
search_original_wordEvery verse where a Hebrew or Greek word occurs
get_cross_referencesRelated passages for each verse
get_chapter_studySummary, context, key words, people, themes, stories, prophecies, parallels and timeline for a chapter
get_book_overviewAn introduction to a book
search_people, get_personPeople of the Bible, their family and key events
search_topics, get_topicStories, themes, prophecies and gospel parallels
get_daily_verseToday's verse
list_editionsThe 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.

WhereStatus (2026-10-26)Take it down
MCP Registrypublished, 1.0.0mcp-publisher status --status deleted --all-versions --message "<why>" io.github.flogvit/bible — hides it; --status active brings it back. The registry never deletes metadata.
Glamalisted, read from the registrygoes with the registry entry
PulseMCPreads the registry by itself (its own form is closed)goes with the registry entry
mcp.sosubmitted: chatmcp/mcpso#6153close the issue and ask there
mcpservers.orgsubmitted through the free form (review within two weeks)email [email protected]
awesome-remote-mcp-serversPR punkpeye/awesome-remote-mcp-servers#2991, from the fork flogvit/awesome-remote-mcp-serversclose 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.
Smitherynot submitted — needs a login as flogvitdelete the server in Smithery's settings
cursor.directorynot submitted — needs a loginremove it there
Claude's connector directorynot submitted — only a Pro/Max/Team account can submit, at claude.ai/directory/manage → Submit new → MCP connectorremove 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/sdk and 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 in src/lib/ — an answer here is the page there.
  • Its own database user, read-only on content. src/grants.ts grants 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-After instead of queueing without end.

Configuration

VariableDefault
PORT8080
DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAMEas the sitethe database user should have only grantStatements()
DB_TLSoff1 connects over TLS — for a database user that is refused in plain text
DB_POOL_MAX5
MCP_MAX_CONCURRENT4requests 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

Markdown supported

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.