article
README
🚀 D&D 知识导航器
D&D 知识导航器是一个基于 Python 的服务器,它实现了模型上下文协议(MCP),能将像 Claude 这样的人工智能助手与《龙与地下城》第 5 版(D&D 5e)的游戏信息连接起来,为玩家和开发者提供便捷的游戏数据查询和交互体验。
🚀 快速开始
安装
开发安装
# 克隆仓库
git clone https://github.com/yourusername/dnd-knowledge-navigator.git
cd dnd-knowledge-navigator
# 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
# 以开发模式安装包
pip install -e .
设置
安装依赖项
使用以下命令安装项目及其依赖:
pip install -r requirements.txt
配置服务器
- 创建配置文件
在项目根目录下创建config.json文件,并添加以下内容:
{
"api_key": "your_api_key_here",
"debug_mode": true,
"port": 5000
}
- 设置环境变量
确保以下环境变量已设置:
DND_API_KEY:访问 D&D API 所需的密钥。DEBUG_MODE:启用调试模式(可选)。
启动服务器
python dnd_mcp_server.py --config config.json
运行测试
./run_tests.py
✨ 主要特性
- 核心功能
- 提供对 D&D 5e 数据的访问接口。
- 实现 MCP 协议,支持与 Claude 等 AI 助手通信。
- 来源归属系统
- 记录和管理数据来源信息。
- 支持自定义来源标识符和引用信息。
- 查询增强系统
- 处理复杂的查询请求。
- 提供同义词支持和模糊匹配功能。
- 模板系统
- 生成美观的响应输出。
- 支持自定义模板以满足不同需求。
📦 安装指南
开发安装
# 克隆仓库
git clone https://github.com/yourusername/dnd-knowledge-navigator.git
cd dnd-knowledge-navigator
# 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
# 以开发模式安装包
pip install -e .
设置
安装依赖项
pip install -r requirements.txt
配置服务器
- 创建配置文件
在项目根目录下创建config.json文件,并添加以下内容:
{
"api_key": "your_api_key_here",
"debug_mode": true,
"port": 5000
}
- 设置环境变量
确保以下环境变量已设置:
DND_API_KEY:访问 D&D API 所需的密钥。DEBUG_MODE:启用调试模式(可选)。
启动服务器
python dnd_mcp_server.py --config config.json
💻 使用示例
运行服务器
python dnd_mcp_server.py
运行测试
./run_tests.py
📚 详细文档
项目提供了详细的文档,涵盖包结构、安装指南、运行说明以及贡献流程。对于更深入的理解,请查阅 docs 目录中的内容。
🔧 技术细节
项目结构
D&D 知识导航器作为一个 Python 包,具有以下结构:
dnd-knowledge-navigator/
├── dnd_mcp_server.py # 主服务器入口点
├── run_tests.py # 运行所有测试的脚本
├── setup.py # 安装配置文件
├── src/ # 源代码目录
│ ├── __init__.py # 包初始化
│ ├── attribution/ # 来源归属系统
│ ├── core/ # 核心功能
│ ├── query_enhancement/ # 查询增强系统
│ └── templates/ # 响应格式化模板
├── tests/ # 测试目录
│ ├── __init__.py # 测试包初始化
│ └── test_*.py # 测试文件
└── docs/ # 文档
MCP 是什么?
模型上下文协议(MCP)是由 Anthropic 开发的一个框架,使人工智能助手如 Claude 能够与外部工具和服务进行通信。此服务器利用了 FastMCP(Anthropic 工具的 Python 实现),以将这些功能连接到《龙与地下城》5 版的数据。
📄 许可证
此项目在 MIT 许可证下发行。请查看 LICENSE 文件以获取详细信息。
👏 贡献
欢迎贡献!请随意提交拉取请求。
- 步骤指南
- Fork 仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开拉取请求
🙏 致谢
- D&D 5e API 提供了 D&D 数据
- Anthropic 开发了模型上下文协议
- FastMCP 提供了 Python 实现的 MCP
扫码联系在线客服