使用说明
口袋妖怪MCP服务器
使用FastMCP构建的MCP(模型上下文协议)服务器,提供口袋妖怪信息,包括身高、体重和类型。
特性
- 按姓名或ID获取口袋妖怪信息
- 按类型随机获取口袋妖怪
- 并排比较两个口袋妖怪(提示)
- 无需API密钥(使用免费PokeAPI)
- 提供任何口袋妖怪的身高、体重、类型和基础统计数据
安装
选项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):第一个口袋妖怪的名字或IDpokemon2_name(str):第二个口袋妖怪的名字或ID
退货:
- 格式化的比较字符串包括:
- 两款口袋妖怪的基本信息(ID、身高、体重、类型)
- 基础统计数据比较(生命值、攻击、防御、特殊攻击、特殊防御、速度)
- 总基础统计数据比较
- 汇总分析
例子:
compare_pokemon("pikachu", "charizard")
compare_pokemon("25", "6") # Can also use IDs
运作原理
- 服务器查询PokeAPI端点:
https://pokeapi.co/api/v2/pokemon/{name}/ - 从响应中提取身高、体重和类型
- 将高度从分米转换为米/厘米,将重量从百克转换为千克
- 格式化口袋妖怪信息并将其返回给客户端
依赖项
fastmcp:用于构建MCP服务器的FastMCP框架requests:用于生成API请求的HTTP库
API 参考
服务器使用 PokeAPI 它是免费的,不需要身份验证。