宝可梦VGC伤害计算器MCP服务器
一个使用模型-上下文协议(MCP)构建的服务器,为人工智能代理提供一个标准化接口,用于执行宝可梦伤害计算 @smogon/calc 包。
功能
- 符合MCP标准的服务器 使用TypeScript和官方MCP SDK
- 准确的伤害计算 由社区审核通过的平台提供支持
@smogon/calc图书馆 - 全面的输入处理 对于宝可梦的属性、特性、道具、招式和场地条件
- 错误处理 对于无效的宝可梦名称、招式以及输入验证
- Vercel 部署准备就绪 支持零配置部署
先决条件
- Node.js 18+
- npm
安装
npm install -g pokemon-vgc-calc-mcp开发
npm run build # Build TypeScript
npm run test # Run test calculationMCP客户端配置
配置您的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
工具:计算伤害
计算攻击方和防守方宝可梦之间的战斗伤害。
输入参数:
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测试
本地MCP服务器测试
您可以使用MCP Inspector测试本地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项目结构
src/
├── index.ts # Main MCP server implementation
├── calculator.ts # Damage calculation wrapper
└── types.ts # TypeScript type definitions作者注
对这个项目的进展感兴趣吗?欢迎随时关注仓库获取最新更新!
如果你需要就这个项目联系我,请随时通过以下任一方式:
- 请给我发送邮件至professor.ragna@gmail.com
- 关注我 @教授拉格纳
如果你有兴趣资助这个项目,你可以支持我 好的,以下是原文内容的翻译:任何支持都将不胜感激!
许可证
麻省理工学院
