宝可梦信息服务器

一个基于FastMCP的宝可梦信息服务器,提供包括身高、体重和类型在内的宝可梦详细信息。

  • by Pablo-Davila
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Pablo-Davila/pokemon-mcp-server

使用说明

口袋妖怪MCP服务器

使用FastMCP构建的MCP(模型上下文协议)服务器,提供口袋妖怪信息,包括身高、体重和类型。

特性

  • 按姓名或ID获取口袋妖怪信息
  • 按类型随机获取口袋妖怪
  • 并排比较两个口袋妖怪(提示)
  • 无需API密钥(使用免费PokeAPI)
  • 提供任何口袋妖怪的身高、体重、类型和基础统计数据

安装

选项1:本地安装

  1. 安装依赖项:
pip install -r requirements.txt

选项2:Docker

使用Docker构建和运行:

# Build the Docker image
docker build -t pokemon-mcp-server .

# Run the container
docker run -it pokemon-mcp-server

用法

本地

运行MCP服务器:

python pokemon_server.py

码头工人

Docker容器在启动时会自动运行服务器。服务器按照MCP协议通过stdin/stdout进行通信。

API

get_pokemon(pokemon_name: str)

通过名称或ID获取指定口袋妖怪的口袋妖怪信息。

参数:

  • pokemon_name (str):要查找的口袋妖怪的名称或ID(不区分大小写)

退货:

  • 包含口袋妖怪信息的格式化字符串,包括:
    • 口袋妖怪ID
    • 高度(单位:米和厘米)
    • 重量(千克)
    • 类型

例子:

get_pokemon("pikachu")
get_pokemon("charizard")
get_pokemon("25")  # Can also use ID

get_random_pokemons_by_type(type_name: str, n: int = 5)

随机获取n个指定类型的口袋妖怪。

参数:

  • type_name (str):类型名称(例如,“火”、“水”、“草”、“电”等)
  • n (int):随机返回的口袋妖怪数量(默认值:5)

退货:

  • JSON字符串,包含指定类型的口袋妖怪名称列表

例子:

get_random_pokemons_by_type("fire", 10)
get_random_pokemons_by_type("water")

提示词

compare_pokemon(pokemon1_name: str, pokemon2_name: str)

根据它们的统计数据、类型和特征比较两个口袋妖怪。

参数:

  • pokemon1_name (str):第一个口袋妖怪的名字或ID
  • pokemon2_name (str):第二个口袋妖怪的名字或ID

退货:

  • 格式化的比较字符串包括:
    • 两款口袋妖怪的基本信息(ID、身高、体重、类型)
    • 基础统计数据比较(生命值、攻击、防御、特殊攻击、特殊防御、速度)
    • 总基础统计数据比较
    • 汇总分析

例子:

compare_pokemon("pikachu", "charizard")
compare_pokemon("25", "6")  # Can also use IDs

运作原理

  1. 服务器查询PokeAPI端点: https://pokeapi.co/api/v2/pokemon/{name}/
  2. 从响应中提取身高、体重和类型
  3. 将高度从分米转换为米/厘米,将重量从百克转换为千克
  4. 格式化口袋妖怪信息并将其返回给客户端

依赖项

  • fastmcp:用于构建MCP服务器的FastMCP框架
  • requests:用于生成API请求的HTTP库

API 参考

服务器使用 PokeAPI 它是免费的,不需要身份验证。