Pokemon Vgc Calc Mcp

Pokemon Vgc Calc Mcp

🚀 Pokémon VGC伤害计算器MCP服务器

这是一个使用模型上下文协议(MCP)构建的服务器,它借助@smogon/calc包为AI智能体提供了一个标准化接口,用于进行宝可梦伤害计算。

✨ 主要特性

  • 符合MCP标准的服务器:使用TypeScript和官方MCP SDK构建。
  • 精确的伤害计算:由社区验证的@smogon/calc库提供支持。
  • 全面的输入处理:可处理宝可梦的各项数据,如属性、特性、携带物品、招式以及场地条件等。
  • 错误处理:能对无效的宝可梦名称、招式和输入进行验证并处理。
  • 支持Vercel部署:零配置即可轻松部署。

📦 安装指南

npm install -g pokemon-vgc-calc-mcp

🚀 快速开始

开发

npm run build  # 构建TypeScript
npm run test   # 运行测试计算

MCP客户端配置

配置你的MCP客户端(如Claude Desktop、Cursor等):

使用远程npm包

{
"mcpServers": {
"pokemon-calc": {
"command": "npx",
"args": ["pokemon-vgc-calc-mcp"],
"env": {}
}
}
}

本地开发: 先将仓库克隆到本地,构建项目,然后配置MCP客户端:

$ git clone git@github.com:jpbullalayao/pokemon-vgc-calc-mcp.git
$ npm install
$ npm run build
{
"mcpServers": {
"pokemon-calc": {
"command": "node",
"args": ["path/to/pokemon-vgc-calc-mcp/dist/index.js"],
"env": {}
}
}
}

可用工具

服务器提供了一个主要工具:calculateDamage

工具:calculateDamage

用于计算攻击方宝可梦和防守方宝可梦之间的战斗伤害。

输入参数

  • attacker:宝可梦对象,包含宝可梦的种类、等级、属性、特性、携带物品等信息。
  • defender:宝可梦对象,包含宝可梦的种类、等级、属性、特性、携带物品等信息。
  • move:招式对象,包含招式名称和可选的会心一击标志。
  • field:场地条件,包括天气、地形和副作用等。

输出

  • description:人类可读的计算结果。
  • damage:伤害范围 [最小值, 最大值]。
  • koChance:击倒概率描述。
  • fullResult:来自smogon/calc的完整结果对象。

💻 使用示例

基础用法

当MCP客户端调用该工具时,可传入如下参数:

{
"attacker": {
"species": "Pikachu",
"level": 50,
"ability": "Static",
"item": "Light Ball",
"nature": "Timid",
"evs": { "spa": 252, "spe": 252, "hp": 4 }
},
"defender": {
"species": "Charizard",
"level": 50,
"ability": "Blaze"
},
"move": {
"name": "Thunderbolt"
},
"field": {
"gameType": "Singles"
}
}

输出

**252 SpA Light Ball Pikachu Thunderbolt vs. 0 HP / 0 SpD Charizard: 198-234 (107 - 126.4%) -- guaranteed OHKO**

Damage: 198-234
KO Chance: guaranteed OHKO

🔧 技术细节

项目结构

src/
├── index.ts       # 主MCP服务器实现
├── calculator.ts  # 伤害计算包装器
└── types.ts       # TypeScript类型定义

测试

本地MCP服务器测试

你可以使用MCP检查器来测试本地MCP服务器:

npm run build
npx @modelcontextprotocol/inspector node path/to/pokemon-vgc-calc-mcp/dist/index.js

测试输入示例

使用以下输入来测试calculateDamage工具:

{
"attacker": {
"species": "Chien-Pao",
"nature": "Jolly",
"evs": {
"atk": 252,
"spe": 252,
"hp": 4
},
"level": 50
},
"defender": {
"species": "Flutter Mane",
"nature": "Modest",
"evs": {
"hp": 164,
"def": 100
},
"level": 50
},
"move": {
"name": "Icicle Crash"
},
"field": {}
}

预期输出

**252 Atk Sword of Ruin Chien-Pao Icicle Crash vs. 164 HP / 100 Def Flutter Mane: 126-148 (83.4 - 98%) -- guaranteed 2HKO**

Damage: 126-148
KO Chance: guaranteed 2HKO

📄 许可证

本项目采用MIT许可证。

作者说明

如果你对本项目的进展感兴趣,欢迎关注该仓库以获取实时更新!

如果你有关于本项目的相关问题,可通过以下方式联系我:

  • 发送邮件至 professor.ragna@gmail.com
  • 在Twitter上联系我 @professorragna

如果你有意资助本项目,可以点击这里支持我。任何形式的支持我都万分感激!

  • 0 关注
  • 0 收藏,32 浏览
  • system 提出于 2025-10-07 03:51

相似服务问题

相关AI产品