PokeMCP
PokeMCP — это сервер MCP (Modular Command Platform), который предоставляет подробную информацию о покемонах, интегрируясь с PokeAPI . Он предоставляет инструмент для получения исчерпывающих данных о любом покемоне, включая базовые характеристики, типы, способности (с эффектами), движения (с эффектами) и цепочку эволюции.
Функции
Получает базовые характеристики, типы и способности покемонов (с описанием эффектов)
Восстанавливает до 10 атак на одного покемона, включая эффекты атак.
Предоставляет полную цепочку эволюции для данного покемона.
Грамотно обрабатывает ошибки и возвращает информативные сообщения об ошибках.
Related MCP server: Poke-MCP
Требования
Питон 3.11.4+
httpx (для асинхронных HTTP-запросов)
mcp.server.fastmcp (для фреймворка сервера MCP)
Установка
Клонируйте этот репозиторий:
git clone https://github.com/ChiragAgg5k/poke-mcp.git cd poke-mcpУстановите зависимости с помощью uv :
uv sync
Использование
Сервер разработки
Запустите сервер с помощью uv (убедитесь, что у вас есть необходимая инфраструктура MCP):
uv run mcp dev server.pyСвязь с Клодом
Чтобы подключиться к Клоду, выполните следующую команду:
uv run mcp install server.pyРезультат должен выглядеть так:
Added server 'poke-mcp' to Claude config
Successfully installed poke-mcp in Claude app Теперь вы можете использовать MCP-инструменты poke-mcp в Клоде:
Получить информацию о покемонах
Имитация битвы
Узнайте здесь, как подключить сервер к другим клиентам MCP, таким как Cursor.
API
Инструмент: get_pokemon_info
Получает подробную информацию о покемоне.
Аргументы
pokemon_name(str): Имя покемона (без учета регистра)
Возвраты
Словарь со следующей структурой:
{
"name": "pikachu",
"id": 25,
"base_stats": {
"hp": 35,
"attack": 55,
...
},
"types": ["electric"],
"abilities": [
{"name": "static", "effect": "May paralyze on contact."},
...
],
"moves": [
{"name": "thunder-shock", "effect": "Has a 10% chance to paralyze the target."},
...
],
"evolution_chain": ["pichu", "pikachu", "raichu"]
}Обработка ошибок
Если покемон не найден или произошла ошибка сети, ответ будет содержать ключ error с описательным сообщением.
Инструмент: simulate_battle
Имитирует битву покемонов между двумя покемонами, используя базовую механику (статистику, тип и эффекты статуса).
Аргументы
pokemon1(str): Имя первого покемона (без учета регистра)pokemon2(str): Имя второго покемона (без учета регистра)
Возвраты
Словарь со следующей структурой:
{
"pokemon1": "pikachu",
"pokemon2": "charizard",
"initial_hp": {
"pikachu": 35,
"charizard": 78
},
"battle_log": [
"Turn 1:",
"charizard uses mega-punch and deals 75 damage! (pikachu HP: 0)",
"pikachu fainted!",
"Winner: charizard!"
],
"winner": "charizard"
}Обработка ошибок
Если покемон не найден или произошла ошибка сети, ответ будет содержать ключ error с описательным сообщением.
Лицензия
Этот проект использует PokeAPI и предназначен для образовательного и некоммерческого использования.