Pokémon信息服务器

一个基于FastMCP的服务器,通过PokeAPI提供Pokémon的详细信息,支持GitHub Copilot等MCP兼容客户端。

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

使用说明

MCP 神奇宝贝 – FastMCP 服务器

这是一个名为模型上下文协议(MCP)的小型服务器。 “戳” 美国a PokeAPI 直接向 GitHub Copilot(或其他兼容的 MCP 客户端)提供有关 Pokemon 的信息。

服务器实现于 FastMCP 它展示了三个主要工具:

  • get_pokemon_info(name: str) 查找Pokemon的详细信息。
  • create_tournament_squad() – 组建一个强大的团队,由六个神奇宝贝参加比赛。
  • list_popular_pokemon() – 列出一些流行的Pokemon竞争.

项目结构

  • poke.py MCP服务器和工具。
  • main.py – 可选的入口点 (如果你想在本地运行的东西/测试).
  • pyproject.toml Python项目配置(依赖关系和元数据)。

先决条件

  • 已安装Python 3.10+。
  • 互联网接入(调用 PokeAPI 在 https://pokeapi.co).

推荐(更多可选):

  • 虚拟环境(venv, conda等等)。

安装

在工程目录中()pokemon/):

  1. 创建并激活虚拟环境(可选,但推荐):

    python -m venv .venv
    .venv\Scripts\activate  # Windows
    
  2. 安装定义的依赖关系 pyproject.toml (例如,使用 紫外线 或 点):

    pip install -e .
    

如果您没有使用特定的管理器,请确保 httpx e mcp (FastMCP)已安装。


如何运行 MCP 服务器

服务器的主文件是 poke.py他在打电话 mcp.run(transport="stdio") 没有块 if __name__ == "__main__":然后,您可以使用:

python poke.py

通常,你 没有 直接在终端上运行 MCP;相反,将客户端(例如,VS Code中的GitHub Copilot)配置为使用此服务器作为MCP提供程序。客户端然后自动执行上述命令并通过 stdio.


可用工具

get_pokemon_info

返回 Pokémon 的详细信息:

  • 诺姆
  • 类型
  • 技能
  • 状态库(生命值、攻击、防御等)

概念呼叫示例:

get_pokemon_info(name="greninja")

输出 :

Name: Greninja
Types: water, dark
Abilities: torrent, protean
Stats: hp: 72, attack: 95, defense: 67, special-attack: 103, special-defense: 71, speed: 122

create_tournament_squad

组建一支由六个强大的神奇宝贝组成的团队参加比赛,使用顶级列表作为基础(例如Charizard,Garchomp,Lucario,Dragonite,Metagross,Gardevoir),并在PokeAPI中检查您的数据。

大致输出 :

Tournament Squad:
Charizard
Garchomp
Lucario
Dragonite
Metagross
Gardevoir

list_popular_pokemon

返回一个简单的文本列表,其中包含一些在竞争中流行的神奇宝贝:

Charizard
Garchomp
Lucario
Dragonite
Metagross
Gardevoir

如何使用 GitHub Copilot (MCP)

  1. 配置文件 mcp.json 从 VS Code(或其他客户端)指向此项目,运行 python poke.py 在项目目录中。
{
	"servers": {
		"poke": {
			"command": "uv",
			"args": [
				"run",
				"--with",
				"mcp[cli]",
				"mcp",
				"run",
				"C:\\Users\\Windows 10 Pro\\OneDrive\\Área de Trabalho\\IA\\pokemon\\poke.py"
			]
		}
	}
}
  1. 如果需要,请重新启动Copilot / VS Code。

  2. 在Copilot聊天中,您可以要求,例如:

    • “使用'poke'MCP服务器查找有关Greninja的信息。
    • “使用神奇宝贝服务器组建比赛团队。

MCP 客户端将调用工具 get_pokemon_info, create_tournament_squad e list_popular_pokemon 如有必要。


教程步骤

  • uv init
  • uv venv
  • .venv\Scripts\activate