口袋妖怪MCP服务器
一种模型上下文协议(MCP)服务器,通过PokeAPI提供对Pokemon数据的访问。该服务器允许Claude和其他兼容MCP的客户端获取有关口袋妖怪的详细信息,包括统计数据、类型、移动和进化链。
特性
- 口袋妖怪概述:获取有关任何口袋妖怪的全面信息,包括名称、类型、基本统计数据和描述
- 移动详细信息:获取口袋妖怪动作的详细信息,包括力量、PP、类型和伤害等级
- 进化链:检索任何口袋妖怪的完整进化链
先决条件
- Node.js 18或更高版本
- npm或yarn包管理器
安装
- 克隆此存储库:
git clone
cd pokemon-mcp- 安装依赖项:
npm install- 构建项目:
npm run build用法
发展
要在开发模式下运行服务器,请执行以下操作:
npm run dev生产
构建后,您可以运行编译后的服务器:
node build/index.js可用工具
1.获取口袋妖怪概览
- 工具名称:
get_pokemon_overviews - 描述:获取多个口袋妖怪的概述信息
- 参数:
- pokemonNames:口袋妖怪名称数组(例如\['picachu'、'charizard')
- 退货:每个口袋妖怪的名称、类型、基本统计数据和描述
2.获取移动细节
- 工具名称:
get_move_detail - 描述:获取有关特定口袋妖怪动作的详细信息
- 参数:
- move:移动名称(例如,“超光束”、“雷电”)
- 退货:移动名称、功率、PP、类型、类别和损坏等级
3.获取进化链
- 工具名称:
get_evolution_chain - 描述:获取口袋妖怪的完整进化链
- 参数:
- pokemonName:口袋妖怪名称(例如“bulbasaur”)
- 退货:从基础形态到最终进化的完整进化链
连接到克劳德桌面
要将此MCP服务器与Claude Desktop一起使用,您需要在Claude Desktop设置中对其进行配置。
配置
- 打开克劳德桌面
- 导航到“设置”→ 开发者→ 编辑配置
- 将以下配置添加到您的
claude_desktop_config.json:
{
"mcpServers": {
"pokemon": {
"command": "node",
"args": ["/path/to/your/pokemon-mcp/build/index.js"],
"env": {}
}
}
}重要:替换 /path/to/your/pokemon-mcp/ 使用项目目录的实际绝对路径。
替代方案:使用npx(如果已发布)
如果你已经将其发布为npm包,你可以使用:
{
"mcpServers": {
"pokemon": {
"command": "npx",
"args": ["pokemon-mcp"],
"env": {}
}
}
}验证
- 更新配置后重新启动Claude Desktop
- 寻找🔌 Claude界面中的图标,表示MCP服务器已连接
- 您应该看到“口袋妖怪”被列为可用的MCP服务器
- 通过向克劳德询问口袋妖怪信息来测试连接
Claude使用示例
连接后,您可以向Claude提出以下问题:
- “你能得到关于皮卡丘和Charizard的信息吗?”
- “雷霆博尔特转会的细节是什么?”
- “给我看看Squirtle的进化链”
- 比较Bulbasaur、Charmander和Squirtle的统计数据
API数据源
项目结构
pokemon-mcp/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── pokemonHelper.ts # Pokemon API helper functions
├── build/ # Compiled JavaScript output
├── package.json
├── tsconfig.json
└── README.md开发脚本
npm run dev-以热重新加载的开发模式运行服务器npm run build-将TypeScript编译为JavaScript
依赖项
@modelcontextprotocol/sdk-用于构建MCP服务器的MCP SDKpokedex-promise-v2-基于Promise的PokeAPI包装器zod-模式验证库
故障排除
服务器未连接
- 确保Claude Desktop配置中的路径正确且绝对
- 验证构建目录是否存在并且包含已编译的JavaScript
- 检查Node.js是否已安装并可从命令行访问
未找到口袋妖怪
- 确保口袋妖怪的名字拼写正确(不区分大小写)
- 使用官方的口袋妖怪名称(例如,“nidoran-f”代表雌性nidoran)
未找到移动
- 移动名称应使用连字符而不是空格(例如,“hyper-beam”而不是“hyper-baim”)
- 服务器会自动将空格转换为连字符,但建议使用正确的格式
许可证
国际协调委员会
贡献
请随时提交问题和增强请求!
