Pokemon数据服务

一个通过PokeAPI提供Pokemon数据的模型上下文协议(MCP)服务器,支持获取Pokemon的详细信息,包括属性、技能和进化链。

  • by JayDevelops
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jaydevelops/poke-mcp

使用说明

口袋妖怪MCP服务器

一种模型上下文协议(MCP)服务器,通过PokeAPI提供对Pokemon数据的访问。该服务器允许Claude和其他兼容MCP的客户端获取有关口袋妖怪的详细信息,包括统计数据、类型、移动和进化链。

特性

  • 口袋妖怪概述:获取有关任何口袋妖怪的全面信息,包括名称、类型、基本统计数据和描述
  • 移动详细信息:获取口袋妖怪动作的详细信息,包括力量、PP、类型和伤害等级
  • 进化链:检索任何口袋妖怪的完整进化链

先决条件

  • Node.js 18或更高版本
  • npm或yarn包管理器

安装

  1. 克隆此存储库:
git clone <your-repository-url>
cd pokemon-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
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设置中对其进行配置。

配置

  1. 打开克劳德桌面
  2. 导航到“设置”→ 开发者→ 编辑配置
  3. 将以下配置添加到您的 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": {}
    }
  }
}

验证

  1. 更新配置后重新启动Claude Desktop
  2. 寻找🔌 Claude界面中的图标,表示MCP服务器已连接
  3. 您应该看到“口袋妖怪”被列为可用的MCP服务器
  4. 通过向克劳德询问口袋妖怪信息来测试连接

Claude使用示例

连接后,您可以向Claude提出以下问题:

  • “你能得到关于皮卡丘和Charizard的信息吗?”
  • “雷霆博尔特转会的细节是什么?”
  • “给我看看Squirtle的进化链”
  • 比较Bulbasaur、Charmander和Squirtle的统计数据

API数据源

此服务器从以下位置获取数据 PokeAPI,一个免费开放的Pokemon API。服务器包括缓存,以提高性能并减少API调用。具体来说,对于这个项目,我们使用 pokedex-promise-v2

项目结构

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 SDK
  • pokedex-promise-v2 -基于Promise的PokeAPI包装器
  • zod -模式验证库

故障排除

服务器未连接

  • 确保Claude Desktop配置中的路径正确且绝对
  • 验证构建目录是否存在并且包含已编译的JavaScript
  • 检查Node.js是否已安装并可从命令行访问

未找到口袋妖怪

  • 确保口袋妖怪的名字拼写正确(不区分大小写)
  • 使用官方的口袋妖怪名称(例如,“nidoran-f”代表雌性nidoran)

未找到移动

  • 移动名称应使用连字符而不是空格(例如,“hyper-beam”而不是“hyper-baim”)
  • 服务器会自动将空格转换为连字符,但建议使用正确的格式

许可证

国际协调委员会

贡献

请随时提交问题和增强请求!