麦律师
这在我的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.jsonresources/pokeapi-data/v2/pokemon//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)
- 安装Node.js 18+。
npm installnpm run buildnpm start
以HTTP服务器运行(用于远程访问)
npm run build
npm run start:http # Starts on port 4027
curl http://localhost:4027/healthVPS部署(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角色名称是任天堂的商标。
