使用说明
圣经丰富MCP服务器-NRSVCE(新修订标准版天主教版)
将Markdown笔记中的纯文本圣经引用转换为圣经门户链接和黑曜石维基链接。
快速开始 • 安装 • 用法 • 配置 • 贡献 • 更新日志
圣经丰富MCP服务器 是一个 模型上下文协议 将Markdown文档中的纯文本圣经和教义问答引用转换为链接引用的服务器 圣经门户 URL和 黑曜石 维基链接。它支持所有 天主教圣经73卷,包括新教翻译中缺失的7本德典书籍。
转换此内容:
Read CCC 528. Also see 1 Samuel 16:1, 16:4-13 and Matthew 2:6.
进入此:
Read [CCC 528](https://www.catholiccrossreference.online/catechism/#!/search/528).
Also see [1 Samuel 16:1, 16:4-13](https://www.biblegateway.com/passage/?search=1%20Samuel%2016%3A1%2C%2016%3A4-13&version=NRSVCE) ( [[1 Sam-16#v1]] , [[1 Sam-16#v4]] - [[1 Sam-16#v13]] )
and [Matthew 2:6](https://www.biblegateway.com/passage/?search=Matthew%202%3A6&version=NRSVCE) ( [[Matt-02#v6]] ).
丰富是 确定性的 --基于正则表达式的解析,转换本身不涉及LLM猜测。
特性
- 圣经门户链接 --每个圣经参考都变成了一个可点击的链接(默认为NRSVCE)
- 黑曜石维基链接 --生成
[[Book-Ch#vN]]vault交叉引用格式 - CCC链接 --天主教教理问答参考链接到天主教交叉参考
- 模式识别 --处理复杂的模式,如
1 Samuel 16:1, 16:4-13和CCC 528-530, 610-612 - 幂等 --跳过已链接的引用;多次运行同一文档是安全的
- 完整的天主教圣经 --全部73本书,包括《托比特》、《朱迪思》、《智慧》、《西拉奇》、《巴鲁克》、《马加比书》1-2
快速开始
git clone https://github.com/psenger/mcp-markdown-bible-enricher.git
cd mcp-markdown-bible-enricher
npm install
npm run build
npm run inspect
在MCP检查器中,调用 bible_enrich_markdown 与:
Genesis 1:1 says "In the beginning..."
安装
先决条件
- Node.js>=18.0.0
克劳德桌面版
-
找到您的配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
添加服务器:
{
"mcpServers": {
"mcp-markdown-bible-enricher": {
"command": "node",
"args": ["/absolute/path/to/mcp-markdown-bible-enricher/dist/index.js"]
}
}
}
- 重新启动克劳德桌面。
要设置自定义圣经版本或黑曜石格式,请添加 env 到配置:
{
"mcpServers": {
"mcp-markdown-bible-enricher": {
"command": "node",
"args": ["/absolute/path/to/mcp-markdown-bible-enricher/dist/index.js"],
"env": {
"BIBLE_VERSION": "NRSVCE",
"OBSIDIAN_FORMAT": "[[Bible/{abbrev}/{chapter}#v{verse}]]"
}
}
}
}
Claude 代码命令行工具
claude mcp add --transport stdio mcp-markdown-bible-enricher -- node /absolute/path/to/mcp-markdown-bible-enricher/dist/index.js
对于环境变量:
claude mcp add mcp-markdown-bible-enricher \
-e BIBLE_VERSION=NRSVCE \
-e 'OBSIDIAN_FORMAT=[[{abbrev}-{chapter2}#v{verse}]]' \
-- node /absolute/path/to/mcp-markdown-bible-enricher/dist/index.js
使用 --scope user 要在所有项目中全局安装:
claude mcp add --transport stdio --scope user mcp-markdown-bible-enricher -- node /absolute/path/to/mcp-markdown-bible-enricher/dist/index.js
验证:
claude mcp list
光标/VS代码
添加 .cursor/mcp.json:
{
"mcp-markdown-bible-enricher": {
"command": "node",
"args": ["/absolute/path/to/mcp-markdown-bible-enricher/dist/index.js"]
}
}
用法
处理对话中的文本
Use the bible_enrich_markdown tool to process this text:
"According to Romans 8:28 and CCC 313, all things work together for good."
结果:
According to [Romans 8:28](https://www.biblegateway.com/passage/?search=Romans%208%3A28&version=NRSVCE) ( [[Rom-08#v28]] ) and [CCC 313](https://www.catholiccrossreference.online/catechism/#!/search/313), all things work together for good.
直接处理文件
Use bible_enrich_file with input_path: "/Users/me/Documents/bible-study.md"
文件内容丰富。供应 output_path 写到另一个位置并保留原件。
支持的参考模式
| 模式 | 示例 | 它匹配什么 |
|---|---|---|
| 单句诗 | John 3:16 |
一首诗 |
| Verse范围 | Matthew 5:3-12 |
连续诗句 |
| 多节经文 | Psalm 23:1, 4, 6 |
个人诗句 |
| 章节+范围 | 1 Samuel 16:1, 16:4-13 |
混合章节:诗歌模式 |
| 裸露的章节 | Isaiah 53 |
整章 |
| 单章书诗 | Jude 9 |
单章书中的诗句 |
| 单章书籍范围 | Jude 9-14 |
单章书中的诗歌范围 |
| CCC单 | CCC 528 |
单个段落 |
| CCC范围 | CCC 528-530 |
段落范围 |
| CCC多重 | CCC 528-530, 610-612 |
多个范围 |
配置
所有配置都是通过环境变量进行的,在服务器启动时加载一次。更改后重新启动MCP服务器。
| 变量 | 默认值 | 描述 |
|---|---|---|
BIBLE_VERSION |
NRSVCE |
圣经翻译。NRSVCE和NABRE包括次正典书籍;新教译本(ESV、NIV、KJV)则不然。 |
OBSIDIAN_FORMAT |
[[{abbrev}-{chapter2}#v{verse}]] |
Wiki链接模板。占位符: {abbrev}, {chapter}, {chapter2} (零填充), {verse} |
INCLUDE_OBSIDIAN_LINKS |
true |
设置为 false 仅适用于圣经门户链接 |
示例配置
圣经网关仅链接,非默认翻译:
"env": {
"BIBLE_VERSION": "ESV",
"INCLUDE_OBSIDIAN_LINKS": "false"
}
自定义vault文件夹结构:
"env": {
"OBSIDIAN_FORMAT": "[[Bible/{abbrev}/{chapter2}#v{verse}]]"
}
API 参考
工具
bible_enrich_markdown
用圣经和CCC链接丰富Markdown字符串。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
markdown |
string | yes | 要丰富的Markdown内容 |
返回丰富的Markdown字符串。
bible_enrich_file
读取Markdown文件,丰富它,并写入结果。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
input_path |
string | yes | 输入文件的绝对路径 |
output_path |
string | no | 输出的绝对路径(默认覆盖输入) |
返回带有输出路径的成功消息。
提示
bible_enrich_document
指示克劳德打电话的便利提示 bible_enrich_markdown 关于所提供的内容。
| 参数 | 类型 | 必填 |
|---|---|---|
markdown |
string | 是 |
help
显示所有可用的工具、配置选项和使用示例。不要争辩。
支持的书籍
全部 天主教圣经73卷 支持。
德语正典书籍翻译说明 (托比特,朱迪思,智慧,西拉奇,巴鲁克,1-2马加比):这些书只能通过天主教翻译在圣经门户网站上找到。NRSVCE(默认)和NABRE都包含它们。NCB和所有新教译本都没有。
Old Testament (46 books)
新教教规(39本书):
- 摩西五经:创世记、出埃及记、利未记、民数记、申命记
- 历史:约书亚、士师、路得、撒母耳记上1-2章、列王记下1-2篇、历代志下1-1章、以斯拉记、尼希米记、以斯帖记
- 智慧:约伯、诗篇、箴言、传道书、所罗门之歌
- 先知:以赛亚、耶利米、哀歌、以西结、但以理、何西阿、约珥、阿摩司、俄巴底亚、约拿、米迦、拿鸿、哈巴谷、西番雅、哈该、撒迦利亚、玛拉基
Deuterocanical(7本书-仅天主教):
- 历史:托比特,朱迪思,1-2马加比
- 智慧:智慧,西拉奇(传道书)
- 预言家:巴鲁克
New Testament (27 books)
- 福音书:马太福音、马可福音、路加福音、约翰福音
- 历史:行为
- 保罗书信:罗马书、哥林多前书、加拉太书、以弗所书、腓立比书、歌罗西书、帖撒罗尼迦前书、提摩太书、提多书、腓利门书
- 一般书信:希伯来书、雅各书、彼得前书1-2、约翰福音1-2-3、犹大书
- 启示录:启示录
Complete abbreviation list (all 73 books)
旧约(46卷):
摩西五经:创世纪→ Gen,出埃及记→ Exod利未记→ Lev,数字→ Num,申命记→ Deut
历史:约书亚→ Josh,法官→ Judg,露丝→ Ruth1塞缪尔→ 1 Sam2塞缪尔→ 2 Sam,1国王→ 1 Kings,2国王→ 2 Kings,1编年史→ 1 Chron,历代志下→ 2 Chron,以斯拉→ Ezr尼希米→ Neh托比特→ Tob,朱迪思→ JdtEsther→ Esth,1马加比→ 1 Macc,2马加比→ 2 Macc
智慧:工作→ Job,诗篇→ Ps,箴言→ Prov,传道书→ Eccles所罗门之歌→ Song,智慧→ Wis,锡拉赫→ Sir
先知:以赛亚→ Isa,耶利米→ Jer,哀歌→ Lam巴鲁克→ Bar*,以西结→ Ezek,丹尼尔→ Dan何西阿→ Hos乔尔→ Joel,阿莫斯→ Am,俄巴底亚→ Obad†乔纳→ Jonah,Micah→ MicahNahum→ Nah哈巴谷→ Hab,西番雅→ Zeph,哈该→ Hag撒迦利亚→ Zech玛拉基→ Mal
新约(27卷):
福音书:马太福音→ Matt,马克→ Mark,卢克→ Luke约翰→ John
历史:行为→ Acts
保罗书信:罗马书→ Rom哥林多前书→ 1 Cor哥林多后书→ 2 Cor加拉太书→ Gal,以弗所书→ Ephes,腓立比人→ Phil,歌罗西书→ Col帖撒罗尼迦前书→ 1 Thess帖撒罗尼迦后书2→ 2 Thess提摩太前书→ 1 Tim提摩太后书→ 2 Tim,提图斯→ Titus腓利门→ Philem†
一般书信:希伯来书→ Heb,詹姆斯→ James1彼得→ 1 Pet2彼得→ 2 Pet约翰一书→ 1 John约翰二书→ 2 John†,约翰三书→ 3 John†,裘德→ Jude†
启示录:启示录→ Rev
* 次正典——需要NRSVCE或NABRE翻译
† 单章书——支持两者 Jude 1:9 和 Jude 9 表格
别名:所罗门之歌=雅歌;西拉奇=传道书=本·西拉的智慧
运作原理
富集函数在五个连续的正则表达式过程中处理Markdown:
- 反勾展开 --删除引用周围的回溯,如
`1 Samuel 16:1:`处理前 - 圣经参考 --比赛
chapter:verseMarkdown链接中没有的模式 - 单章裸诗 --匹配单章书籍中的裸诗引用(例如。,
Jude 9) - 裸露的章节 --仅匹配章节引用(例如。,
Isaiah 53) - CCC参考 --匹配教理问答段落编号
关键实施细节:
- 消极的后向/后向可防止双重丰富已链接的文本
- 隐式章节继承:
16:1, 4-13两组都使用第16章 - 单章书籍使用不同的黑曜石链接格式(
[[Jude#v9]]而不是[[Jude-01#v9]]) - YAML前体在富集前被剥离,并原封不动地重新附着
输出格式
| 参考 | 圣经门户链接 | 黑曜石维基链接 |
|---|---|---|
John 3:16 |
[John 3:16](https://www.biblegateway.com/...) |
[[John-03#v16]] |
Matthew 5:3-12 |
[Matthew 5:3-12](https://www.biblegateway.com/...) |
[[Matt-05#v3]] - [[Matt-05#v12]] |
Jude 9 |
[Jude 9](https://www.biblegateway.com/...) |
[[Jude#v9]] |
Isaiah 53 |
[Isaiah 53](https://www.biblegateway.com/...) |
[[Isa-53]] |
CCC 528 |
[CCC 528](https://www.catholiccrossreference.online/...) |
(无) |
黑曜石融合
圣经参考文献丰富了与黑曜石相匹配的维基链接 [[Note#heading]] 公约。如果vault使用不同的文件命名结构,请设置 OBSIDIAN_FORMAT 匹配:
# Flat structure: "Gen 1:1" → [[Gen 1#v1]]
OBSIDIAN_FORMAT="[[{abbrev} {chapter}#v{verse}]]"
# Nested folders: "Gen 1:1" → [[Bible/Gen/01#v1]]
OBSIDIAN_FORMAT="[[Bible/{abbrev}/{chapter2}#v{verse}]]"
# Chapter-only files: "Gen 1:1" → [[Gen-01#verse-1]]
OBSIDIAN_FORMAT="[[{abbrev}-{chapter2}#verse-{verse}]]"
可用占位符: {abbrev}, {chapter}, {chapter2} (零填充), {verse}.
代理使用
此服务器是为使用代理工作流而构建的。Claude Code、Claude Desktop和其他MCP客户端可以直接在对话中调用这些工具。
从Claude Code调用工具
服务器注册后,Claude Code会自动获取工具。您可以直接指示它:
Use bible_enrich_file with input_path: "/Users/me/vault/notes/week-1.md"
或者使用内置 bible_enrich_document 提示以交互式方式丰富您粘贴的文本。
代理操作系统/目录
这 agent-os/ 目录包含机器可读的规范和标准,帮助AI代理在会话中一致地使用此代码库。
agent-os/
├── specs/ # Change-specific specs (one per feature/fix)
│ ├── 2026-03-18-1600-single-chapter-bare-verse-refs
│ ├── 2026-03-18-1700-bare-chapter-refs
│ └── 2026-03-19-0900-frontmatter-protection
└── standards/ # Durable conventions for the codebase
├── index.yml # Index of all standards with descriptions
├── books/ # BOOK_MAP key casing, abbreviation sources, alternative names
├── config/ # Config loading lifecycle, opt-out patterns
├── enrichment/ # Regex pass ordering, lookbehind guards, chapter inheritance
├── global/ # Cross-cutting principles (DRY, SOLID, TDD, etc.)
└── testing/ # Jest config module cache limitations
在建议对代码库进行更改时,请参考相关标准 agent-os/standards/ 在编写代码之前。这 enrichment/three-pass-ordering 例如,standard解释了为什么正则表达式的传递顺序是固定的,不能改变。
CLAUDE.md
CLAUDE.md 项目根目录为Claude Code提供了特定于项目的指导:TypeScript约定、正则表达式测试要求、导入扩展规则和书籍映射模式。它由Claude Code在每个会话开始时自动加载。
错误处理
| 场景 | 行为 |
|---|---|
| 无法识别的书名 | 参考文献保持不变 |
| 章节/节数无效 | 内容丰富,但由此产生的圣经门户链接可能为404 |
| 找不到文件 | 返回 Error: ENOENT: no such file or directory |
| 权限被拒绝 | 返回 Error: EACCES: permission denied |
所有工具错误都将返回 isError: true 以及用户可读的消息。
局限性
- 文件大小 --文件完全加载到内存中;将输入保持在10MB以下
- 编码 --仅限UTF-8;非UTF-8输入产生不正确的输出
- 代码块 --三重回溯块仍然丰富;只有内联的单回溯引用才会被解包,然后被丰富
- CCC格式 --需要一个空格:
CCC 528,不CCC528 - 配置 --启动时加载一次;更改环境变量后重新启动服务器
- 圣经门户上的申命记 --仅限NRSVCE和NABRE;NCB和新教译本缺少这些书籍
发展
项目结构
mcp-markdown-bible-enricher/
├── src/
│ ├── __tests__/ # unit tests
│ ├── config.ts # env var loading
│ ├── index.ts # MCP server entry point
│ ├── enrichment.ts # core regex logic
│ └── books.ts # Bible book → abbreviation map
├── agent-os/ # agentic specs and standards
├── dist/ # compiled output (generated)
├── CLAUDE.md # Claude Code project guidance
├── CONTRIBUTING.md # contributor guide
├── CHANGELOG.md # release history
└── package.json
脚本
npm run build # compile TypeScript
npm run start # run the compiled server
npm run dev # watch mode (tsx)
npm run inspect # MCP Inspector browser GUI
npm test # run tests
npm run test:watch # watch mode
npm run test:coverage # coverage report
npm run lint # ESLint
npm run format # Prettier
npm run format:check # check formatting without writing
npm run clean # remove dist/
TypeScript注释
- 模块系统:ES模块(
"type": "module") - 导入扩展名:始终使用
.js即使源文件是.ts--Node16模块分辨率所需 - 目标:ES2022,启用严格模式
添加新的圣经书或别名
看 agent-os/standards/books/ 对于图书地图惯例和 src/books.ts 为了实施。关键规则在 BOOK_MAP 钥匙套和 singleChapter 旗帜。
故障排除
Server not appearing in Claude Desktop
- 验证中的路径
claude_desktop_config.json是一条绝对路径 - 确认构建成功:
npm run build - 通过帮助查看MCP日志→ Claude Desktop中的开发人员工具
- 完全退出并重新启动Claude Desktop
References not being detected
- 书名不区分大小写,但必须拼写正确
- 格式必须为
Book chapter:verse--确认没有多余的标点符号 - Markdown链接中已有引用
[text](url)故意跳过 - 对于氘代经典书籍,请确认您使用的是NRSVCE或NABRE
Deuterocanonical books not working
集 BIBLE_VERSION 到 NRSVCE (默认)或 NABRENCB不包括圣经门户网站上的这些书籍,尽管它们是天主教翻译的。新教译本(ESV、NIV、KJV)也缺乏这些内容。
Configuration changes not taking effect
启动时加载一次配置。编辑env-vars后:保存配置文件, 完全退出 Claude Desktop,然后重新启动。
File permission or encoding errors
# Check encoding
file -I /path/to/file.md
# Convert to UTF-8 if needed
iconv -f ISO-8859-1 -t UTF-8 input.md > output.md
Build errors
rm -rf node_modules package-lock.json
npm install
npm run clean
npm run build
贡献
欢迎捐款。看 贡献.md 用于:
- 开发设置和本地测试
- 正则表达式模式约定和测试要求
- 如何添加新的圣经书籍或别名
- 提交信息和公关惯例(常规提交)
- 如何使用
agent-os/提出变更时的规格
为了报告错误或请求功能, 打开一个问题.
更新日志
看 更改日志.md 查看完整的发布历史。该项目如下 保存更新日志v1.1.0 和 语义化版本.
许可证
根据 GNU通用公共许可证v3.0。参见 许可证 了解全部细节。
致谢
- 拟人化MCP SDK --模型上下文协议实现
- 圣经门户 --经文和段落链接
- 天主教对照 --教理问答段落链接
- 黑曜石 --wiki链接格式的灵感
专为天主教圣经学习和代理Markdown工作流程而构建