Pokémon信息查询服务

Poke-MCP是一个通过标准化接口提供Pokémon信息的服务器,连接PokeAPI获取数据并通过MCP工具暴露给兼容客户端。

  • by NaveenBandarage
  • TypeScript
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 NaveenBandarage/poke-mcp

使用说明

概述

Poke MCP是一个模型上下文协议(MCP)服务器,通过标准化接口提供Pokemon信息。它连接到 PokeAPI 获取口袋妖怪数据,并通过MCP工具将其公开,这些工具可供任何兼容MCP的客户端使用,如Claude Desktop App、Continue、Cline等。

此服务器现在支持使用服务器发送事件(SSE)进行实时通信的HTTP传输,使其可以通过HTTP访问,而不仅仅是stdio。

特性

  • 按名称获取特定口袋妖怪的信息
  • 发现随机口袋妖怪
  • 从特定地区(关东、柔佛、霍恩等)随机找到宝可梦
  • 随机获取特定类型的宝可梦(火、水、电等)
  • 口袋妖怪信息自然语言查询界面

运作原理

Poke MCP是使用 模型上下文协议,使AI应用程序能够以标准化的方式访问外部工具和数据源。服务器:

  1. 连接到PokeAPI以获取Pokemon数据
  2. 通过MCP接口显示多个工具
  3. 处理来自MCP客户端的请求
  4. 返回格式化的口袋妖怪信息

MCP工具

服务器提供以下工具:

  • 获取口袋妖怪:按名称获取特定口袋妖怪的详细信息
  • 随机口袋妖怪:获取有关随机口袋妖怪的信息
  • 来自特定地区的随机口袋妖怪:从特定地区获取随机口袋妖怪
  • 按类型随机口袋妖怪:获取特定类型的随机口袋妖怪
  • 口袋妖怪查询:回答关于口袋妖怪的自然语言查询

建筑

服务器是使用以下方式构建的:

  • TypeScript
  • MCP TypeScript SDK(@modelcontextprotocol/SDK)
  • Zod用于输入验证
  • 用于MCP通信的带有服务器发送事件(SSE)的HTTP传输
  • Node.js内置HTTP服务器

安装

通过Smithery安装

通过以下方式自动安装Pokémcp for Claude Desktop 史密瑟里:

npx -y @smithery/cli install @NaveenBandarage/poke-mcp --client claude

手动安装

# Clone the repository
git clone https://github.com/yourusername/poke-mcp.git
cd poke-mcp

# Install dependencies
npm install

# Build the project
npm run build

用法

运行HTTP服务器

要在HTTP模式下启动服务器,请执行以下操作:

# Start the server (defaults to port 3000)
npm start

# Or specify a custom port
PORT=8080 npm start

服务器将在以下位置可用:

  • 信息端点: http://127.0.0.1:3000/ -服务器信息和状态
  • SSE端点: http://127.0.0.1:3000/sse -MCP客户端的服务器发送事件连接
  • 消息端点: http://127.0.0.1:3000/message -用于发送MCP消息的POST端点

使用Claude桌面应用程序(HTTP传输)

  1. 下载并安装 Claude桌面应用程序
  2. 打开克劳德桌面设置
  3. 转到开发人员设置并编辑配置文件
  4. 为HTTP传输添加以下配置:
{
  "mcpServers": {
    "pokedex": {
      "transport": {
        "type": "sse",
        "url": "http://127.0.0.1:3000/sse"
      }
    }
  }
}
  1. 启动Poke MCP服务器: npm start
  2. 重新启动克劳德桌面
  3. 现在,您应该看到Claude中提供的Pokemon工具

传统用法(stdio)

为了向后兼容,您仍然可以通过恢复到stdio实现来使用stdio传输运行服务器。

查询示例

连接到MCP客户端后,您可以提出以下问题:

  • “跟我说说皮卡丘”
  • “给我一个随机的口袋妖怪”
  • “给我看一个来自关东的随机口袋妖怪”
  • “什么是随机的水宝可梦?”

项目结构

  • src/index.ts:主服务器实现
  • src/types.ts:口袋妖怪数据的TypeScript类型定义
  • package.json:项目依赖关系和脚本
  • tsconfig.json:TypeScript配置

添加新功能

要添加新工具或增强现有工具,请执行以下操作:

  1. 定义新的辅助函数以获取和格式化数据
  2. 使用server.tool()方法注册新工具
  3. 实现处理请求和返回响应的工具逻辑

许可证

国际协调委员会

致谢


该项目演示了如何构建自定义MCP服务器,以扩展具有特定领域知识和能力的AI助手。