NET圣经MCP服务器
一个模型上下文协议(MCP)服务器,提供访问NET圣经SQLite数据库的接口。该服务器通过标准化的MCP接口,提供全面的圣经搜索和检索功能。
🚀 快速入门
Docker(推荐)
# Clone and navigate to the project
git clone
cd net-bible-mcp
# Build and run with one command
./docker-run.sh build && ./docker-run.sh runPython(开发)
# Install dependencies
pip install -r requirements.txt
# Run the server
python server.py✨ 特点/功能
这个MCP服务器提供了以下工具来查询NET圣经数据库:
- 搜索经文按文本内容搜索圣经经文
- 获取经文通过书名、章节和节号获取特定的圣经经文
- 获取章节获取特定章节的所有经文
- 获取书籍信息获取有关圣经书籍的信息,包括经文数量
- 列出书籍列出《圣经》中的所有书卷及其经文数目
- 按参考搜索按参考模式搜索经文(例如,“约翰福音3:16”,“创世记1:1-5”)
🔧 最近的改进
版本1.1.0
- ✅ 固定MCP服务器初始化已解决
AttributeError: 'NoneType' object has no attribute 'tools_changed' - ✅ Docker 支持使用Docker和Docker Compose实现完全容器化
- ✅ 安全增强非root用户执行与健康检查
- ✅ 管理脚本易于使用
docker-run.sh所有操作的脚本 - ✅(对号,表示正确、确认或完成) 生产就绪适当的重启策略、日志记录和错误处理
技术解决方案
- 固定的
server.get_capabilities()以恰当的方式致电NotificationOptions - 增加了全面的错误处理和验证
- 实现了数据库连接的健康检查
- 使用多阶段缓存优化Docker构建过程
📊 数据库结构
该数据库包含一个单独的 verses 具有以下结构的表格:
id主键verseID唯一的诗句标识符canon_order规范排序book书名(例如,“GEN”,“MAT”,“JOH”)chapter章节编号startVerse起始诗句编号endVerse结束的诗句编号(对于单句,与开始诗句编号相同)verseText实际的诗句文本
📦 安装
🐳 Docker 安装(推荐)
开始使用最简单的方法就是使用Docker:
# 1. Clone the repository
git clone
cd net-bible-mcp
# 2. Make the management script executable
chmod +x docker-run.sh
# 3. Build and run
./docker-run.sh build
./docker-run.sh run或者在生产环境中使用 Docker Compose:
# Start as a service
./docker-run.sh start
# View logs
./docker-run.sh logs
# Stop when done
./docker-run.sh stop🐍 Python 安装(开发版)
用于开发,或者如果您更倾向于直接运行:
# 1. Install Python 3.11+ and dependencies
pip install -r requirements.txt
# 2. Ensure the database file is present
# The net_bible_en.db file should be in the project root
# 3. Run the server
python server.py要求:
- Python 3.11及以上版本
- SQLite3
- MCP库(通过requirements.txt安装)
🚀 使用方法
Docker(推荐)
# Interactive mode (for testing)
./docker-run.sh run
# Production mode (as a service)
./docker-run.sh start
./docker-run.sh logsPython(开发)
# Run directly
python server.py该服务器通过标准输入输出(stdio)进行通信,可以与MCP兼容的客户端一起使用,例如Claude Desktop、Cline或其他MCP客户端。
🔧 管理命令
Docker 管理脚本
这个(或“该”) docker-run.sh 脚本提供便捷的管理:
./docker-run.sh build # Build the Docker image
./docker-run.sh run # Run interactively
./docker-run.sh start # Start with docker-compose
./docker-run.sh stop # Stop the service
./docker-run.sh logs # View logs
./docker-run.sh test # Test the container
./docker-run.sh clean # Remove the Docker image
./docker-run.sh help # Show all commands手动Docker命令
# Build
docker build -t net-bible-mcp .
# Run interactively
docker run -it --rm net-bible-mcp
# Run as service
docker-compose up -d
# View logs
docker-compose logs -f
# Stop service
docker-compose down📖 示例查询
- 搜索包含“爱”的诗句:
search_verses使用查询词“love” - 获取约翰福音3章16节:
get_verse书名为《约翰》,第三章第16节 - 获取创世纪第一章的全部内容:
get_chapter带着书《创世纪》,第1章 - 列出所有书籍:
list_books - 按参考文献搜索:
search_by_reference带着“约翰福音3:16”
🐞 故障排除
常见问题
1. MCP服务器初始化错误
AttributeError: 'NoneType' object has no attribute 'tools_changed'✅ 在v1.1.0版本中已修复 - 这个错误已经通过适当的方法解决了 NotificationOptions 处理。
2. Docker 构建问题
# If you get permission errors, try:
sudo chown -R $USER:$USER .
# If database file is missing:
# Ensure net_bible_en.db is in the project root3. 容器无法启动
# Check if the container is running
docker ps -a
# View container logs
./docker-run.sh logs
# Test the container
./docker-run.sh test4. 数据库连接问题
# Test database connectivity
./docker-run.sh test
# Check if database file exists
ls -la net_bible_en.db寻求帮助
- 检查日志:
./docker-run.sh logs - 测试容器:
./docker-run.sh test - 查看所有命令:
./docker-run.sh help
🐳 Docker 功能
安全与性能
- 🔒 安全以非root用户身份运行,以增强安全性
- 🏥 健康检查内置数据库连接监控
- ⚡ 优化了多阶段构建,依赖最小化
- 💾 持久化数据库文件已挂载以实现数据持久化
- 🔄 自动重启故障时自动重启
- 📊 监测全面日志记录和健康监测
生产部署
# Production deployment with docker-compose
./docker-run.sh start
# Monitor the service
./docker-run.sh logs
# Health check
./docker-run.sh test📁 项目结构
net-bible-mcp/
├── server.py # Main MCP server implementation
├── net_bible_en.db # SQLite database (31,085 verses)
├── requirements.txt # Python dependencies
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── docker-run.sh # Management script
├── .dockerignore # Docker build optimization
├── source/ # Source data files
│ ├── engnet_about.htm
│ └── net_bible_en.csv
└── README.md # This file📊 数据库统计
- 总诗句数31,085
- 书籍66(39卷旧约+27卷新约)
- 格式带有优化索引的SQLite数据库
- 订购正典圣经顺序(创世记→启示录)
- 语言英文(NET - 新英文译本)
- 特点/功能全文搜索,诗句范围,书籍信息
🤝 贡献(或“参与贡献”)
- 为仓库创建分支(或“克隆”仓库)
- 创建一个特性分支:
git checkout -b feature-name - 进行您的更改并使用以下方式测试:
./docker-run.sh test - 提交您的更改:
git commit -m 'Add feature' - 推送到分支:
git push origin feature-name - 提交拉取请求
📄 许可证
这个项目是开源的。NET圣经数据库是在适当的许可条款下使用的。
