项目简介
该项目是一个基于 Model Context Protocol (MCP) 实现的服务器端应用,专注于提供宝可梦(Pokémon)的详细数据和高级对战模拟功能。它通过标准化的 JSON-RPC 协议与外部客户端(如大型语言模型 LLM)通信,允许客户端查询宝可梦信息、模拟对战结果,以及分析属性克制关系。项目还包含一个智能终端客户端,可通过自然语言命令与服务器交互。
主要功能点
- 宝可梦数据管理: 托管并提供丰富的宝可梦数据库资源,包括种族值、属性、能力、招式和进化链等。
- 高级对战模拟: 注册并提供一个高度还原的宝可梦对战模拟工具,精确计算伤害、处理属性克制、回合顺序、异常状态和暴击等复杂机制。
- 属性克制分析: 提供查询宝可梦属性克制关系的工具,帮助用户了解不同属性之间的战斗优势和劣势。
- MCP协议兼容: 完全遵循 MCP 协议规范,支持 'initialize'、'resources.list'、'resources.read'、'tools.list' 和 'tools.call' 等核心方法。
- 智能客户端支持: 配套的 Python 终端客户端支持自然语言处理,能理解用户的指令并自动调用服务器的相应功能。
安装步骤
- 克隆仓库:
git clone https://github.com/ananya5151/Pok-mon-Battle-Simulation.git cd Pok-mon-Battle-Simulation - 安装 Node.js 依赖:
npm install - 安装 Python 依赖:
pip install -r requirements.txt - 构建服务器:
npm run build
服务器配置
MCP 服务器('pokemon-battle-mcp-server-pro')通过标准输入输出(Stdio)进行通信,其启动命令和参数可配置为:
{ "name": "pokemon-battle-mcp-server-pro", "command": "node", "args": ["dist/server.js"], "description": "提供宝可梦数据查询和对战模拟的MCP服务器" }
- 'name': 服务器的唯一标识符。
- 'command': 启动 MCP 服务器的可执行文件,此处为 Node.js 运行时。
- 'args': 传递给 'command' 的参数,'dist/server.js' 是编译后的服务器主文件。
- 'description': 服务器的功能描述。
基本使用方法
- 启动智能终端客户端:
运行以下命令,客户端会自动启动 MCP 服务器并提供交互式界面。
python terminal_client.py - 通过自然语言与客户端交互:
- 查询宝可梦信息:'tell me about charizard' (告诉我关于喷火龙的信息)
- 模拟对战:'who would win in a fight, charizard or blastoise?' (喷火龙和水箭龟谁会赢?)
- 分析属性克制:'what is psychic weak to?' (超能力系弱什么?)
- 直接与MCP服务器交互(高级用法):
可以直接向服务器的标准输入发送 JSON-RPC 请求。例如,查询皮卡丘数据:
echo '{"jsonrpc":"2.0","method":"tools.call","params":{"name":"get_pokemon","arguments":{"name":"pikachu"}},"id":1}' | node dist/server.js
信息
分类
AI与计算