返回 MCP 目录
public公开dns本地运行

dnd-mcp

一个基于Python的D&D 5e知识导航服务器,通过Model Context Protocol(MCP)协议连接AI助手与龙与地下城游戏数据API

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
配置服务器
  1. 创建配置文件
    在项目根目录下创建 config.json 文件,并添加以下内容:
{
  "api_key": "your_api_key_here",
  "debug_mode": true,
  "port": 5000
}
  1. 设置环境变量
    确保以下环境变量已设置:
  • DND_API_KEY:访问 D&D API 所需的密钥。
  • DEBUG_MODE:启用调试模式(可选)。

启动服务器

python dnd_mcp_server.py --config config.json

运行测试

./run_tests.py

✨ 主要特性

  1. 核心功能
    • 提供对 D&D 5e 数据的访问接口。
    • 实现 MCP 协议,支持与 Claude 等 AI 助手通信。
  2. 来源归属系统
    • 记录和管理数据来源信息。
    • 支持自定义来源标识符和引用信息。
  3. 查询增强系统
    • 处理复杂的查询请求。
    • 提供同义词支持和模糊匹配功能。
  4. 模板系统
    • 生成美观的响应输出。
    • 支持自定义模板以满足不同需求。

📦 安装指南

开发安装

# 克隆仓库
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

配置服务器

  1. 创建配置文件
    在项目根目录下创建 config.json 文件,并添加以下内容:
{
  "api_key": "your_api_key_here",
  "debug_mode": true,
  "port": 5000
}
  1. 设置环境变量
    确保以下环境变量已设置:
  • 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 文件以获取详细信息。

👏 贡献

欢迎贡献!请随意提交拉取请求。

  1. 步骤指南
    • Fork 仓库
    • 创建功能分支 (git checkout -b feature/amazing-feature)
    • 提交更改 (git commit -m 'Add some amazing feature')
    • 推送到分支 (git push origin feature/amazing-feature)
    • 打开拉取请求

🙏 致谢

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端