PokeMCP
PokeMCP
PokeMCP — это сервер MCP (Modular Command Platform), который предоставляет подробную информацию о покемонах, интегрируясь с PokeAPI . Он предоставляет инструмент для получения исчерпывающих данных о любом покемоне, включая базовые характеристики, типы, способности (с эффектами), движения (с эффектами) и цепочку эволюции.
Функции
Получает базовые характеристики, типы и способности покемонов (с описанием эффектов)
Восстанавливает до 10 атак на одного покемона, включая эффекты атак.
Предоставляет полную цепочку эволюции для данного покемона.
Грамотно обрабатывает ошибки и возвращает информативные сообщения об ошибках.
Related MCP server: PokéAPI MCP Server
Требования
Питон 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 и предназначен для образовательного и некоммерческого использования.
Available Tools
2 toolsget_pokemon_infoB
Get comprehensive information about a Pokémon.
Includes base stats, types, abilities, moves (with effects), and evolution information.
Args:
pokemon_name: The name of the Pokémon to get information about.
Returns:
A dictionary containing the Pokémon's information
| Name | Required | Description | Default |
|---|---|---|---|
| pokemon_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions what information is returned, it doesn't address important behavioral aspects like whether this is a read-only operation (implied but not stated), potential rate limits, authentication requirements, error conditions, or data freshness. The description is insufficient for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, included information, Args, Returns) and uses minimal, focused sentences. Every sentence contributes meaning. It could be slightly more concise by integrating the purpose and included information more tightly, but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (retrieving comprehensive Pokémon data), no annotations, no output schema, and 0% schema coverage, the description is minimally adequate. It covers the basic purpose and parameter meaning but lacks behavioral context and detailed return format. The absence of an output schema means the description should ideally explain the return structure more thoroughly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and only one parameter, the description adds significant value by explaining that 'pokemon_name' refers to 'The name of the Pokémon to get information about.' This clarifies the parameter's purpose beyond what the bare schema provides. However, it doesn't specify format requirements (e.g., case sensitivity, special characters) or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('comprehensive information about a Pokémon'), and lists the types of information included (base stats, types, abilities, moves, evolution). However, it doesn't explicitly differentiate from the sibling tool 'simulate_battle', which serves a completely different purpose, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While the sibling tool 'simulate_battle' is clearly different (simulation vs. information retrieval), there's no explicit mention of alternatives or context for usage decisions. The description only states what the tool does, not when it should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_battleC
Simulate a Pokémon battle between two Pokémon using core mechanics.
Args:
pokemon1: Name of the first Pokémon
pokemon2: Name of the second Pokémon
Returns:
Battle log and winner
| Name | Required | Description | Default |
|---|---|---|---|
| pokemon1 | Yes | ||
| pokemon2 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool simulates a battle and returns a battle log and winner, which covers basic output. However, it lacks details on behavioral traits such as how the simulation works (e.g., deterministic vs. random, level or stat considerations), error handling for invalid Pokémon names, or any rate limits or side effects. This leaves significant gaps for a simulation tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by bullet points for args and returns. There's no wasted text, and the structure is clear. However, the bullet points could be more integrated into prose for optimal flow, but it remains efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a simulation tool with no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It covers the basic purpose and parameters but lacks details on how the simulation behaves, what the battle log includes, error cases, or prerequisites. For a tool that likely involves game mechanics and potential variability, this leaves too much unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal semantics beyond the input schema: it specifies that parameters are 'Name of the first Pokémon' and 'Name of the second Pokémon', which clarifies their purpose as Pokémon names. However, with 0% schema description coverage and 2 parameters, this doesn't fully compensate for the lack of schema details (e.g., format constraints, valid Pokémon names). It provides basic meaning but leaves gaps, aligning with the baseline for partial coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Simulate a Pokémon battle between two Pokémon using core mechanics.' It specifies the verb ('simulate'), resource ('Pokémon battle'), and scope ('between two Pokémon'), which is clear and specific. However, it doesn't explicitly distinguish this from the sibling tool 'get_pokemon_info', which appears to be for retrieving information rather than simulation, so it misses full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions 'core mechanics' but doesn't explain what that entails or when to choose simulation over other actions like getting Pokémon info. There are no explicit when/when-not statements or named alternatives, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have completely distinct purposes: get_pokemon_info retrieves detailed Pokémon data, while simulate_battle runs battle simulations. There is no overlap or ambiguity between these functions, making tool selection straightforward for an agent.
Both tools follow a consistent verb_noun naming pattern (get_pokemon_info, simulate_battle) with clear, descriptive names that accurately reflect their functions. The naming convention is uniform throughout the tool set.
With only 2 tools, this server feels severely under-scoped for a Pokémon domain. While the tools cover information retrieval and battle simulation, there are obvious gaps in functionality like listing Pokémon, managing teams, or accessing other game mechanics, making the tool count insufficient for comprehensive Pokémon-related tasks.
The tool surface is significantly incomplete for a Pokémon server. It lacks basic operations such as listing Pokémon, searching by criteria, or accessing other game elements like items or locations. The two existing tools provide limited coverage, leaving agents unable to perform many expected Pokémon-related workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that integrates with Discord to provide AI-powered features.
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server implementation that enables users to interact with the PokeAPI to fetch Pokemon information through natural language queries.
- FlicenseNot gradedqualityDmaintenanceAn MCP (Multi-Agent Conversation Protocol) Server that provides an interface to access Pokémon data through the PokéAPI, enabling agents to retrieve information about Pokémon species, abilities, moves, and more via natural language.
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides standardized access to Pokemon data, allowing users to search, compare, and retrieve detailed information about Pokemon through natural language tools.5
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides comprehensive Pokemon data and battle simulation capabilities to AI assistants. It enables users to access detailed stats, types, and moves while simulating battles with realistic mechanics like type effectiveness and status effects.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChiragAgg5k/poke-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server