pokemon-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pokemon-mcp-serverTell me about Pikachu"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pokemon MCP Server
PokeAPIを利用したModel Context Protocol (MCP)サーバーです。Pokemonの情報を取得するためのツールを提供します。
機能
Pokemon情報の取得
Pokemon種族情報の取得
Pokemonタイプ情報の取得
Pokemon技情報の取得
Pokemon特性情報の取得
進化チェーン情報の取得
Pokemon検索
Pokemonリスト取得(ページネーション対応)
Related MCP server: pokemon-mcp-server
インストール
npm installビルド
npm run build開発
開発モードで実行
npm run devビルドしてから実行
npm run build
npm startテスト
全テスト実行
npm test単体テストのみ
npm run test:unitE2Eテストのみ
npm run test:e2eテストカバレッジ
npm run test:coverage統合テスト(実際のAPIを使用)
npm run test:integrationMCP クライアントでの使用方法
Claude Desktop での設定
Claude Desktop の設定ファイル(claude_desktop_config.json)に以下を追加:
{
"mcpServers": {
"pokemon": {
"command": "node",
"args": ["/path/to/pokemon-mcp-server/dist/index.js"]
}
}
}使用可能なツール
get_pokemon - Pokemon情報取得
引数: name (string) - Pokemon名get_pokemon_type - Pokemonタイプ情報取得
引数: name (string) - タイプ名get_move - Pokemon技情報取得
引数: name (string) - 技名get_ability - Pokemon特性情報取得
引数: name (string) - 特性名get_evolution_chain - 進化チェーン情報取得
引数: id (number) - 進化チェーンIDsearch_pokemon - Pokemon検索
引数: query (string) - 検索クエリget_pokemon_list - Pokemonリスト取得
引数: limit (number, optional) - 取得件数(デフォルト: 20) offset (number, optional) - オフセット(デフォルト: 0)
使用例
Claude Desktop でこのMCPサーバーを設定後、以下のような質問ができます:
"ピカチュウの情報を教えて"
"炎タイプのポケモンについて教えて"
"10万ボルトという技について教えて"
"静電気という特性について教えて"
"pikaで始まるポケモンを検索して"
プロジェクト構造
src/
├── client/ # PokeAPI クライアント
│ └── pokeapi-client.ts
├── server/ # MCP サーバー設定
│ └── mcp-server.ts
├── tools/ # ツール定義とハンドラー
│ ├── tool-definitions.ts
│ └── tool-handlers.ts
├── config/ # 設定ファイル
│ └── server-config.ts
├── types/ # TypeScript 型定義
│ ├── index.ts
│ ├── common.ts
│ ├── pokemon.ts
│ ├── species.ts
│ ├── type.ts
│ ├── move.ts
│ ├── ability.ts
│ └── evolution.ts
└── index.ts # エントリーポイント依存関係
@modelcontextprotocol/sdk- MCP SDKaxios- HTTP クライアント
開発依存関係
typescript- TypeScript コンパイラjest- テストフレームワークts-jest- Jest TypeScript サポートnock- HTTP モッキング@types/node- Node.js 型定義
ライセンス
MIT
Available Tools
6 toolsget_moveA
Get information about a specific Pokemon move
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the move to get information about |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It describes a read operation ('Get information') but doesn't disclose potential error behavior (e.g., move not found), rate limits, or response structure. It is minimally adequate but lacks behavioral depth.
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?
A single sentence that is front-loaded with the core action and resource. Every word is necessary; no fluff or redundancy.
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?
For a simple lookup tool with one parameter and no output schema, the description is functional but could hint at return fields (e.g., 'returns move stats, type, and effects'). It covers the basics but leaves the agent guessing about what 'information' entails.
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?
Schema description coverage is 100%; the description adds no meaning beyond the schema's 'The name of the move to get information about'. Per guidelines, baseline 3 is appropriate since no additional parameter context is provided.
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 verb 'Get' and the resource 'information about a specific Pokemon move', which is distinct from sibling tools like get_pokemon (Pokemon info) or get_pokemon_type (type info). The word 'specific' implies lookup by identifier, aligning with the required parameter.
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 does not provide explicit guidance on when to use this tool versus alternatives like search_pokemon or get_pokemon. Usage is implied (when needing move details), but no exclusions or cross-references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pokemonB
Get information about a specific Pokemon
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the Pokemon to get information about |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. 'Get information' lacks detail on what information (e.g., stats, abilities), no mention of authentication, rate limits, or side effects.
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?
Single sentence, no fluff, front-loaded with the action and resource. Every word earns its place.
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?
No output schema, and description does not hint at return structure or content. For autonomous use, this is incomplete. Sibling tools suggest more specific endpoints but no guidance is given.
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?
Schema describes the 'name' parameter with adequate description. Schema coverage is 100%, so baseline 3 applies; description adds no extra meaning beyond schema.
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?
Clearly states 'Get information about a specific Pokemon' - specific verb+resource, distinguishes from sibling tools like get_pokemon_species and search_pokemon.
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?
No guidance on when to use this tool vs alternatives, no when-to-use or when-not-to-use context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pokemon_listB
Get a paginated list of Pokemon
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The number of Pokemon to retrieve (default: 20) | |
| offset | No | The offset for pagination (default: 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the basic function without mentioning rate limits, authentication, side effects, or other behaviors. As a read operation, the lack is partially mitigated but still insufficient.
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 a single, clear sentence with no unnecessary words. It is appropriately sized for the tool's simplicity.
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?
Missing output schema means the description should clarify the response contents (e.g., names, IDs). It only mentions 'list of Pokemon', leaving ambiguity. For a simple tool, this is partially adequate but not fully complete.
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 input schema provides 100% coverage for limit and offset, including descriptions and defaults. The tool description adds no additional meaning beyond the schema, meeting the baseline for high schema 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 retrieves a paginated list of Pokemon, distinguishing it from sibling tools focused on individual Pokemon, species, types, or moves. It uses a specific verb and resource, but could be more precise about what the list contains.
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?
No guidance is provided on when to use this tool versus alternatives like search_pokemon for filtering or get_pokemon for a single entry. The description lacks any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pokemon_speciesC
Get species information about a specific Pokemon
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the Pokemon species to get information about |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'Get species information' without describing what the response contains, any side effects, or limitations. Insufficient for a 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?
Extremely concise with one front-loaded sentence, but missing essential behavioral and usage information. Conciseness does not compensate for under-specification.
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?
No output schema provided, and the description does not explain what species information is returned. For a tool with a single parameter, this is incomplete.
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?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter description, but does not contradict or require additional clarification.
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 gets species information for a specific Pokemon, using a specific verb and resource. It distinguishes from siblings like get_pokemon (general info) or search_pokemon (search), but does not explicitly differentiate them.
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?
No guidance on when to use this tool versus alternatives like get_pokemon or search_pokemon. The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pokemon_typeC
Get information about a specific Pokemon type
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the Pokemon type to get information about |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only says 'get information,' omitting what data is returned, whether it is read-only, or any side effects. Lacks transparency about the output or limitations.
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?
A single sentence that is direct and free of fluff. It could be slightly more informative, but it does not waste words.
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 simplicity (one param, no output schema), the description is minimally adequate. However, it could better set expectations about the response format, which is not covered by an output schema.
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?
Schema coverage is 100% for the single 'name' parameter, with a clear description in the schema. The tool description adds no additional meaning beyond the schema, so baseline score is appropriate.
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 retrieves information about a Pokemon type. It distinguishes from sibling tools like get_pokemon (individual Pokemon) or get_pokemon_species (species data), though it does not explicitly differentiate.
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?
No guidance on when to use this tool versus alternatives. Siblings like get_move or search_pokemon are not mentioned, and no context for prerequisites or appropriate use cases is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pokemonC
Search for Pokemon by name
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query to find Pokemon |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry the burden. It fails to disclose whether search is case-sensitive, supports partial matches, or returns a list. Minimal behavioral insight.
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?
Extremely concise (5 words) but at the cost of missing important context. Every sentence earns its place, but the description could be more informative without losing brevity.
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?
For a search tool with one parameter and no output schema, the description should hint at behavior (e.g., partial matching, result count). It does not, leaving significant gaps.
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?
Input schema covers 100% of parameters with a basic description. The tool's description adds 'by name', which mildly reinforces that 'query' is a name. No additional semantics beyond schema.
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 verb 'Search' and resource 'Pokemon' with a constraint 'by name'. However, it does not differentiate from sibling tools like 'get_pokemon', which likely also operates by name.
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?
No guidance on when to use this tool vs alternatives (e.g., 'get_pokemon' for exact name lookup, 'get_pokemon_list' for browsing). The description lacks context on use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.0- First observed
get_move - First observed
get_pokemon - First observed
get_pokemon_list - First observed
get_pokemon_species - First observed
get_pokemon_type - First observed
search_pokemon
TDQS
Each tool targets a distinct resource: Pokemon, species, type, move, search, and list. There is no overlap, and descriptions clearly differentiate them.
All tools follow a consistent verb_noun pattern with underscores, predominantly using 'get_' (5 of 6) and one 'search_'. No mixing of conventions.
6 tools is well-scoped for a Pokemon information API, covering essential lookups without being excessive or inadequate.
Covers core Pokemon queries (by ID/name, species, type, move) and includes search and listing. Missing advanced features like abilities or evolution chains, but the set feels complete for common use cases.
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
Provide detailed Pokémon data and information through a standardized MCP interface. Enable LLMs an…
Look up Pokémon, moves, abilities, items, natures, and type matchups from PokéAPI v2.
Look up Pokemon TCG Pocket cards, sets, packs, and evaluate decks with battle simulations.
111Pokemon MCP — wraps PokéAPI (free, no auth required)
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables users to retrieve Pokémon statistics, sprite images, and complete information using the PokeAPI. Supports querying by Pokémon name or ID number to get base stats, various sprite URLs including shiny variants, and comprehensive Pokémon data.513Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables fetching detailed Pokémon data from PokéAPI, including Pokémon info, types, moves, abilities, and search with pagination.133Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables fetching Pokémon data from PokeAPI, searching for Pokémon and moves, and simulating battles between two Pokémon with type effectiveness and status effects.MIT
- AlicenseAqualityBmaintenanceEnables querying and comparing the first 25 Pokémon from the Kanto region, providing base stats, evolution chains, and type filtering via natural language.7MIT
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/Ippei523/pokemon-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server