关于 FLOGVIT.bible
FLOGVIT.bible 是供助手读取和搜索《圣经》文本及研读资料的 MCP 服务,涵盖多种译本、希伯来语和希腊语原文,以及相关研读工具,并附来源页面链接。
主要功能
- 01跨最多五种版本获取经文
- 02按词语搜索圣经经文
- 03阅读和搜索希伯来语或希腊语原文
- 04探索交叉引用和章节研读
- 05查找人物、主题和每日经文
适用场景
- 01比较不同圣经版本中的同一段经文
- 02跨经文查找希伯来语或希腊语词语
- 03研究章节中的人物、主题和背景
MCP 相关
该服务通过 Streamable HTTP 向 MCP 客户端提供经文、搜索、原文、交叉引用、研读资料、人物、主题和版本信息。无需账户或密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
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"}}}在 Cursor 中打开{"servers":{"flogvit-bible":{"type":"http","url":"https://mcp.bible.flogvit.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"flogvit-bible":{"type":"http","url":"https://mcp.bible.flogvit.com/mcp"}}}{"mcpServers":{"flogvit-bible":{"serverUrl":"https://mcp.bible.flogvit.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
bible.flogvit.com MCP 服务
让 AI 助手在 bible.flogvit.com 上阅读和搜索《圣经》:开放的 OSNB、OSNN 和 OSEN 译本、希伯来语和希腊语原文,以及该网站的研读资料。每个回答都会链接回其来源页面。
地址: https://mcp.bible.flogvit.com/mcp — Streamable HTTP,无需账号或密钥。
连接助手
适用于所有客户端、涵盖全部八种语言的完整指南见
bible.flogvit.com/en/mcp。在浏览器中打开
https://mcp.bible.flogvit.com/,即可查看简明版指南。两者均根据
../src/lib/mcp-info.ts 和 ../src/lib/dictionaries-mcp.ts 中的 mcp.* 键生成,而
test/landing.test.ts 会将其中的工具列表与 tools/list 进行核对。
Claude(桌面应用和 claude.ai): 设置 → 连接器 → 添加自定义连接器。粘贴地址,认证信息留空。
ChatGPT: 在“设置”→“应用与连接器”中开启开发者模式,然后创建一个使用该地址且无需认证的连接器。
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" } } }
然后像平常一样提问——“约翰福音 3:16 的希腊语原文是什么?”“《圣经》哪里谈到宽恕?”“他玛是谁?”助手会自行选择工具。
工具
| 工具 | 可回答的问题 |
|---|---|
get_passage | 获取一段或多段经文,可并排查看最多五种版本,还可选择是否显示译者注释 |
search_bible | 在一种版本中查找包含所有指定词语的经文,还可选择限定某卷或某约 |
get_original_text | 查看一段经文的希伯来语或希腊语原文,逐词附带说明(挪威语) |
search_original_word | 查找希伯来语或希腊语某词出现过的所有经文 |
get_cross_references | 获取每节经文的相关经文 |
get_chapter_study | 获取某章的摘要、背景、关键词、人物、主题、故事、预言、平行经文和时间线 |
get_book_overview | 获取某卷书的介绍 |
search_people、get_person | 查找《圣经》人物及其家族和重要事件 |
search_topics、get_topic | 查找故事、主题、预言和福音书平行经文 |
get_daily_verse | 获取今日经文 |
list_editions | 查看各版本及其许可信息 |
经文引用支持英语和挪威语格式,例如 John 3:16-18、
Joh 3,16.18、1 Cor 13:4-7、Gen 1:1-2:3,多个引用可用 ; 分隔;也支持网站全部八种语言的卷名,以及挪威语的书卷名称(«Romerbrevet»)。
引用的《圣经》文本会附带来源行。译本采用 CC BY 4.0 许可;助手无论将文本用于何处,都必须附上署名。
列出位置以及如何将其下架
server.json 是官方 MCP Registry 中的条目。其 version 必须与服务端的 SERVER_VERSION(src/server.ts)一致,而且注册表不会接受重复的版本号:更改条目 ⇒ 两者都要升版本,然后发布。
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 的安装命令是 brew install mcp-publisher。命名空间使用 GitHub(io.github.flogvit/…),而非 DNS(com.flogvit/…):flogvit.com 的 DNS 由 Domeneshop 手动编辑,而脚本可以完成 GitHub 登录。
| 位置 | 状态(2026-10-26) | 下架方式 |
|---|---|---|
| MCP Registry | 已发布,1.0.0 | mcp-publisher status --status deleted --all-versions --message "<why>" io.github.flogvit/bible — 隐藏条目;--status active 可将其恢复。注册表不会删除元数据。 |
| Glama | 已列出,数据来自注册表 | 随注册表条目一起下架 |
| PulseMCP | 自动读取注册表(其自有表单已关闭) | 随注册表条目一起下架 |
| mcp.so | 已提交:chatmcp/mcpso#6153 | 关闭 issue 并在那里提出请求 |
| mcpservers.org | 已通过免费表单提交(两周内审核) | 发邮件至 [email protected] |
| awesome-remote-mcp-servers | PR punkpeye/awesome-remote-mcp-servers#2991,来自 fork flogvit/awesome-remote-mcp-servers | 关闭 PR;合并后,再提交一个删除这三行的 PR。仅远程服务应列入此列表,而非 awesome-mcp-servers——其 CONTRIBUTING 文件对此有说明。 |
| Smithery | 尚未提交 — 需要以 flogvit 身份登录 | 在 Smithery 的设置中删除该服务 |
| cursor.directory | 尚未提交 — 需要登录 | 在该网站上移除 |
| Claude 的连接器目录 | 尚未提交 — 只有 Pro/Max/Team 账户才能在 claude.ai/directory/manage → Submit new → MCP connector 提交 | 在同一门户中移除该条目 |
这三个尚未提交的平台只需要登录即可:地址、描述,以及 Anthropic 表单要求填写的所有字段(简短介绍、描述、文档和隐私政策 URL、支持联系方式、用例、示例提示词)都已写在 issue #157 中。
各平台的提交内容和时间记录在 GitHub 上的 issue #157 中。
指南页面位于 ../src/routes/pages/mcp.tsx 的 /mcp 路由。移除该页面时,需要删除路由、../src/views/layout.tsx 中的页脚链接、../src/lib/sitemap-paths.ts 和 test/pages.ts 中的 /mcp,以及 llms.txt 中的指向(../src/routes/seo.ts)——然后部署 bibel。
在本地运行
需要使用网站所用的本地数据库(../.env,DB_PORT=3326)。
cd mcp
bun install
bun run dev # http://localhost:8080/mcp
可以使用 MCP Inspector 测试(npx @modelcontextprotocol/inspector,传输方式为 Streamable HTTP,URL 为 http://localhost:8080/mcp),也可以手动测试:
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 会检查数据库用户是否能读取所有内容表,并读取 John 3:16:成功时返回 200 和该经文;失败时返回 503 并说明原因——缺少授权时会指出具体授权。
测试
cd mcp && bun run test && bun run typecheck
test/server.test.ts 会通过 HTTP,使用本地数据库调用每个工具,并检查每个回答是否只链接到 bible.flogvit.com 上的本地化页面(或许可证中列明的来源),且不会显示网站的 [ref:…] 标记。test/grants.test.ts 会创建一个本地 MySQL 用户,并仅授予服务在生产环境中获得的权限,使用该用户运行每个工具,并检查用户表是否会拒绝该用户的访问——任何需要访问授权范围外表的工具都会在此处失败——同时检查 /healthz 是否会指出授权已被撤销的表。test/books.test.ts 会检查网站显示的每种语言中的所有书名和缩写,确保每个名称都能找到对应的书卷。
在仓库根目录运行 bibel 自带的 bun test 不会运行这些测试(bunfig.toml):此软件包有自己的依赖项。
构建方式
- 使用独立的包和镜像。
@modelcontextprotocol/sdk及其依赖位于此处,不会进入网站的镜像。镜像从仓库根目录构建(docker build -f mcp/Dockerfile .),因为服务通过src/lib/中网站自己的 getter 读取数据库——这里的回答,就是那里的页面。 - 使用独立的数据库用户,对内容仅有只读权限。
src/grants.ts会对导入所拥有的表(CONTENT_TABLES)授予 SELECT 权限,不授予其他权限,因此无法访问用户的笔记、手稿和共享内容。 - 无状态。 每个请求使用一个 MCP 服务;任何请求都可以落到任意进程上。
- 设置全局上限,而非按 IP 限制。 Claude 和 ChatGPT 会从各自的服务器调用连接器,因此一个 IP 对应许多用户。超过上限时,服务会返回 503 和
Retry-After,而不会无限期排队。
配置
| 变量 | 默认值 | |
|---|---|---|
PORT | 8080 | |
DB_HOST、DB_PORT、DB_USER、DB_PASSWORD、DB_NAME | 与网站相同 | 数据库用户应仅拥有 grantStatements() 中的权限 |
DB_TLS | 关闭 | 1 表示通过 TLS 连接——用于拒绝明文连接的数据库用户 |
DB_POOL_MAX | 5 | |
MCP_MAX_CONCURRENT | 4 | 同时处理的请求数 |
bun scripts/grants.ts <database> 会输出数据库用户的 GRANT 语句。这些语句根据 CONTENT_TABLES 生成,但只有在有人手动执行时才会生效:导入新增内容表时,请以数据库管理员身份重新运行这些语句。在此之前,/healthz 会返回 503 并指出表名。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。