项目简介

该项目是一个基于 Model Context Protocol (MCP) 实现的服务器端应用,专注于提供宝可梦(Pokémon)的详细数据和高级对战模拟功能。它通过标准化的 JSON-RPC 协议与外部客户端(如大型语言模型 LLM)通信,允许客户端查询宝可梦信息、模拟对战结果,以及分析属性克制关系。项目还包含一个智能终端客户端,可通过自然语言命令与服务器交互。

主要功能点

  • 宝可梦数据管理: 托管并提供丰富的宝可梦数据库资源,包括种族值、属性、能力、招式和进化链等。
  • 高级对战模拟: 注册并提供一个高度还原的宝可梦对战模拟工具,精确计算伤害、处理属性克制、回合顺序、异常状态和暴击等复杂机制。
  • 属性克制分析: 提供查询宝可梦属性克制关系的工具,帮助用户了解不同属性之间的战斗优势和劣势。
  • MCP协议兼容: 完全遵循 MCP 协议规范,支持 'initialize'、'resources.list'、'resources.read'、'tools.list' 和 'tools.call' 等核心方法。
  • 智能客户端支持: 配套的 Python 终端客户端支持自然语言处理,能理解用户的指令并自动调用服务器的相应功能。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/ananya5151/Pok-mon-Battle-Simulation.git
    cd Pok-mon-Battle-Simulation
  2. 安装 Node.js 依赖:
    npm install
  3. 安装 Python 依赖:
    pip install -r requirements.txt
  4. 构建服务器:
    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': 服务器的功能描述。

基本使用方法

  1. 启动智能终端客户端: 运行以下命令,客户端会自动启动 MCP 服务器并提供交互式界面。
    python terminal_client.py
  2. 通过自然语言与客户端交互:
    • 查询宝可梦信息:'tell me about charizard' (告诉我关于喷火龙的信息)
    • 模拟对战:'who would win in a fight, charizard or blastoise?' (喷火龙和水箭龟谁会赢?)
    • 分析属性克制:'what is psychic weak to?' (超能力系弱什么?)
  3. 直接与MCP服务器交互(高级用法): 可以直接向服务器的标准输入发送 JSON-RPC 请求。例如,查询皮卡丘数据:
    echo '{"jsonrpc":"2.0","method":"tools.call","params":{"name":"get_pokemon","arguments":{"name":"pikachu"}},"id":1}' | node dist/server.js

信息

分类

AI与计算