Pokémon数据与策略服务

一个提供本地同步的Pokémon数据和策略指南的Model Context Protocol (MCP)服务器,适用于游戏策略分析和团队优化。

  • by DavidJGrimsley
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 DavidJGrimsley/mrdj-pokemon-mcp

使用说明

麦律师

这在我的VPS上运行,可以在任何MCP客户端(VS代码等)中使用:

  • https://davidjgrimsley.com/public-facing/mcp/mrdj-pokemon-mcp/mcp

更多信息页面:

  • https://davidjgrimsley.com/mcp/mrdj-pokemon-mcp

这是什么

出现的模型上下文协议(MCP)服务器:

  • 来自本地同步副本的口袋妖怪数据 PokeAPI/api-data (尽量减少外部API调用)
  • DJ先生的口袋妖怪策略指南(Markdown in guides/)

工具

  • list-guides --将可用的Markdown指南作为MCP资源列出
  • get_strategy --按id返回完整指南
  • search_pokemon --使用本地api数据索引搜索宝可梦名称
  • get_pokemon --按名称或National Dex id获取Pokemon JSON(首先使用本地同步;丢失时回退到实时PokeAPI并在本地缓存)
  • type_effectiveness --计算类型匹配倍数
  • counter_pokemon --建议最佳攻击类型(以及存在本地数据时的口袋妖怪示例)
  • suggest_team --分析一支球队并提出防守覆盖的改进建议

数据源(PokeAPI api数据)

完整的PokeAPI api-data 数据集很大,所以(比如 node_modules)它故意不在git中跟踪。

此服务器需要 api-data/data/v2 树复制到:

  • resources/pokeapi-data/v2/...

示例:

  • resources/pokeapi-data/v2/pokemon/index.json
  • resources/pokeapi-data/v2/pokemon/<id>/index.json

同步(推荐)

Prereq:你需要 git 安装。

npm run sync

此下载 PokeAPI/api-data 以及副本 data/v2 进入 resources/pokeapi-data/v2.

同步(直接脚本)

  • Windows(PowerShell): ./scripts/sync-pokeapi-data.ps1
  • macOS/Linux(bash): ./scripts/sync-pokeapi-data.sh

在本地运行(stdio MCP)

  1. 安装Node.js 18+。
  2. npm install
  3. npm run build
  4. npm start

以HTTP服务器运行(用于远程访问)

npm run build
npm run start:http  # Starts on port 4027
curl http://localhost:4027/health

VPS部署(Plesk/nnginx+PM2)

  • 内部服务器在上运行 127.0.0.1:4027
  • 公共终结点的路径前缀为 /public-facing/mcp/mrdj-pokemon-mcp/*

在VPS上,PokeAPI数据集必须存在于 resources/pokeapi-data/v2.包括 deploy.sh 将运行 npm run sync 如果数据集丢失,则自动执行。

在中使用Plesk友好的反向代理代码段 nginx.conf文件.

每周数据集刷新(cron)

PokeAPI数据集会随着时间的推移而变化。此仓库不会自动安排刷新;日程 npm run sync 在VPS上。

示例(周一03:00运行,然后重新启动PM2):

SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin

0 3 * * 1 cd /home/deployer/mrdj-pokemon-mcp && npm run sync && pm2 restart mrdj-pokemon-mcp >> /home/deployer/mrdj-pokemon-mcp/sync.log 2>&1

笔记:

  • 更新路径以匹配您克隆仓库的位置。
  • 如果您的VPS使用Node版本管理器(例如nodenv/nvm),您可能需要设置 PATH 所以 node/npm 可供cron使用。

归因

宝可梦数据由提供 PokéAPI 来源于 PokeAPI/api-data. Pokemon和Pokemon角色名称是任天堂的商标。