D&D 5e字符MCP服务器
D&D 5e角色MCP服务器是一个小型模型上下文协议服务器,可按需生成简单、即用型的龙与地下城5e风格的角色。
目标是为支持MCP的AI客户端提供一种简单的方法来创建随机或轻度定制的角色(种族、职业、级别),这些角色具有“D&D风格”,但足够轻,可以进行演示和一次拍摄。
______________________________________________________________________
预览
_示例MCP客户端请求和带有生成字符的JSON响应。_
_另一个具有不同种族/职业选项的示例角色。_
演示视频
_短终端录音显示 docker compose up,MCP服务器启动,客户端调用 generate_character 工具。_
现场演示
https://aickathon-2025-08.github.io/mcp-dnd5e-character/
______________________________________________________________________
可用命令
| 命令 | 描述 |
|---|---|
npm install | 安装项目依赖项 |
npm run dev | 使用TypeScript在开发模式下运行MCP服务器并热重载 |
npm run build | 将TypeScript源代码编译为JavaScript dist 文件夹 |
npm start | 从运行已编译的MCP服务器 dist 文件夹 |
docker compose build | 为MCP服务器构建Docker镜像 |
docker compose up | 在容器中启动MCP服务器(连接模式) |
docker compose up -d | 在容器中启动MCP服务器(分离/后台模式) |
docker compose ps | 显示正在运行的容器的状态 |
docker compose down | 停止并删除容器及其网络 |
______________________________________________________________________
需求
要运行此项目,您需要:
- Node.js
>= 18(用于本地开发和npm脚本)
- npm (附带Node.js)
- Docker 桌面版 (或Docker引擎)
docker compose在您的PATH中可用
根据您的喜好,您可以使用纯Node.js工作流或Docker工作流。
______________________________________________________________________
项目结构
该项目有意规模较小,重点突出:
src/server.ts--MCP服务器的实现和generate_character工具接线
dist/server.js--编译的JavaScript输出(由创建npm run build,未承诺回购)
Dockerfile--服务器的Docker镜像定义
docker-compose.yml--docker使用单个组件组合配置mcp-dnd5e-character服务
notes.md--内部注释和草稿字符格式
服务器公开了一个MCP工具:
generate_character--生成一个简单的D&D 5e风格的字符:
- 种族、阶级、等级
- 能力得分(STR、DEX、CON、INT、WIS、CHA)
- 命中点、装甲等级、速度
- 技能和启动设备
- 对齐和简短的背景句
______________________________________________________________________
本地运行(Node.js)
安装依赖项:
npm install构建TypeScript项目:
npm run build运行已编译的MCP服务器:
npm start或者,直接在TypeScript的开发模式下运行并观看:
npm run dev在所有情况下,MCP服务器都通过stdin/stdout进行通信,旨在供MCP兼容的客户端使用。
使用Docker运行
此项目包括Docker支持,因此您不需要在本地安装Node.js进行生产风格的运行。
塑造形象
docker compose build启动容器(已附)
docker compose up这将:
- 构建Docker镜像(如果尚未构建)
- 在名为的容器中运行MCP服务器
mcp-dnd5e-character
- 将终端连接到服务器进程(stdin/stdout)
要停止服务器,请按 Ctrl + C 然后:
docker compose down启动容器(已拆卸)
如果您更喜欢在后台运行容器:
docker compose up -d检查状态:
docker compose ps停止并移除容器:
docker compose down使用MCP工具
此服务器设计用于兼容MCP的客户端(例如,支持模型上下文协议的AI助手)。
服务器公开了一个工具:
工具名称: generate_character
说明: 生成一个简单的D&D 5e风格的角色,包括种族、职业、能力、命中点和简短的背景。
输入架构 (所有字段均为可选):
race--首选种族(例如“人类”、“精灵”、“矮人”),不区分大小写
class--首选类(例如“战斗机”、“巫师”、“盗贼”),不区分大小写
level--级别从1到5(如果省略,则默认为1)
示例工具调用 (概念):
{
"name": "generate_character",
"arguments": {
"race": "Dwarf",
"class": "Barbarian",
"level": 1
}
}输出示例 (形状):
{
"name": "Bruen",
"race": "Dwarf",
"class": "Barbarian",
"level": 1,
"abilities": {
"strength": 17,
"dexterity": 12,
"constitution": 16,
"intelligence": 10,
"wisdom": 11,
"charisma": 9
},
"hit_points": 18,
"armor_class": 16,
"speed": 25,
"skills": ["Athletics", "Survival", "Intimidation"],
"equipment": ["Greataxe", "Handaxe", "Traveler's Clothes"],
"background": "Bruen is a level 1 Dwarf Barbarian of Chaotic Good alignment. They are known for their Athletics and travel the world with their greataxe.",
"alignment": "Chaotic Good"
}确切的数字会有所不同,因为角色是在轻微的随机性下生成的,但整体结构保持不变。
Aickathon笔记
主题: 构建您选择的MCP服务器
想法: D&D 5e字符生成器MCP服务器
使用案例: 快速为单镜头、演示或测试MCP集成创建美味的角色。
Docker就绪: 该项目可以使用docker compose命令构建和运行,如上所述。
本自述遵循了生命游戏示例的精神:简短描述、预览部分、命令表、要求和清晰的Docker说明。
