宝可梦MCP服务器与动画前端
概述
该项目实现了一个模型上下文协议(MCP)服务器,具有两大主要功能:
- 宝可梦数据资源 提供来自公众的全面宝可梦数据 PokéAPI,包括基础属性、类型、特性、招式以及进化链。
- 战斗模拟工具: 模拟任意两只宝可梦之间的战斗,实现属性相克、伤害计算逻辑、回合顺序以及状态效果。
提供了一个可选的HTML/CSS/JavaScript前端界面,用于演示目的,允许用户查看宝可梦的详细信息并运行动画战斗模拟。
______________________________________________________________________
特点/特性
后端(Node.js,Express)
- 从PokéAPI检索宝可梦数据
- 基础属性、类型、特性、招式、进化链
- 与以下元素进行战斗模拟:
- 类型有效性倍数 - 简化伤害计算,包括稳定弹(STAB,即Same Type Attack Bonus,同类型攻击加成) - 基于速度的行动顺序 - 状态效果:灼烧、中毒、麻痹
- 全面战斗日志生成
- 基于JSON的API响应,便于与其他系统或大型语言模型(LLM)轻松集成
前端
- 搜索宝可梦并显示:
- 官方精灵图(或官方角色图像) - 以表格形式展示的基础属性 - 带颜色编码的类型徽章 - 能力、进化链、招式表
- 启动战斗模拟,使用:
- 动画式生命值(HP)条更新 - 卡片震动以产生击中效果 - 逐步揭示的战斗日志,延迟显示 - 获胜者展示
______________________________________________________________________
文件夹结构
*(请参阅每个文件夹中的README文件以获取详细的文件说明)*
宝可梦对战模拟/ ├── (在文件夹结构中,通常表示一个子文件夹或目录,但此处单独列出无具体含义,可理解为“包含”或“以下”之意,具体翻译需结合上下文) 资源 ├── (在文件夹或目录结构中,通常表示一个子目录或子项) 工具 ├──(在中文语境中,这通常是一个目录或文件结构的表示,但直接翻译并无对应词汇,可理解为“包含”或“下有”) 实用工具(或辅助工具) ├──(在文件夹结构中,通常表示一个子文件夹或子目录,但具体含义可能根据上下文有所不同) 前端 └── (在中文中,这个符号通常不直接翻译,而是根据上下文理解为表示列表或层级结构中的子项或后续内容,可意译为“子项”或“接下来”等,具体根据语境而定。) 测试
______________________________________________________________________
入门指南/开始使用
先决条件
- Node.js v16及以上版本
- 网络连接(使用PokéAPI实时获取数据)
安装依赖项
npm install______________________________________________________________________
仅运行后端
node app.js后端从……开始 http://localhost:3000
______________________________________________________________________
API 端点
宝可梦数据
GET /mcp/resource/pokemon/:name战斗模拟
POST /mcp/tool/battle
{
"pokemonA": "pikachu",
"pokemonB": "charizard"
}______________________________________________________________________
运行前端用户界面
- 启动后端服务,使用
node app.js - 开放
/frontend/index.html在浏览器中
______________________________________________________________________
测试
npm install --save-dev jest supertest
npm test______________________________________________________________________
技术栈
- 后端:Node.js、Express、Axios
- 前端:HTML5,CSS3,JavaScript
- 数据来源:PokéAPI
- 测试:Jest,Supertest(可选)
______________________________________________________________________
笔记
附加的详细信息、系统行为说明以及已知限制均记录在 NOTES.md.
______________________________________________________________________
许可证
麻省理工学院许可证
