Skip to main content
Glama
Ippei523

pokemon-mcp-server

by Ippei523

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:unit

E2Eテストのみ

npm run test:e2e

テストカバレッジ

npm run test:coverage

統合テスト(実際のAPIを使用)

npm run test:integration

MCP クライアントでの使用方法

Claude Desktop での設定

Claude Desktop の設定ファイル(claude_desktop_config.json)に以下を追加:

{
  "mcpServers": {
    "pokemon": {
      "command": "node",
      "args": ["/path/to/pokemon-mcp-server/dist/index.js"]
    }
  }
}

使用可能なツール

  1. get_pokemon - Pokemon情報取得

    引数: name (string) - Pokemon名
  2. get_pokemon_type - Pokemonタイプ情報取得

    引数: name (string) - タイプ名
  3. get_move - Pokemon技情報取得

    引数: name (string) - 技名
  4. get_ability - Pokemon特性情報取得

    引数: name (string) - 特性名
  5. get_evolution_chain - 進化チェーン情報取得

    引数: id (number) - 進化チェーンID
  6. search_pokemon - Pokemon検索

    引数: query (string) - 検索クエリ
  7. 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 SDK

  • axios - HTTP クライアント

開発依存関係

  • typescript - TypeScript コンパイラ

  • jest - テストフレームワーク

  • ts-jest - Jest TypeScript サポート

  • nock - HTTP モッキング

  • @types/node - Node.js 型定義

ライセンス

MIT

Available Tools

6 tools
get_moveA

Get information about a specific Pokemon move

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the move to get information about

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the Pokemon to get information about

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe number of Pokemon to retrieve (default: 20)
offsetNoThe offset for pagination (default: 0)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the Pokemon species to get information about

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the Pokemon type to get information about

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query to find Pokemon

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 6 tool updatesv1.0.0
    • First observedget_move
    • First observedget_pokemon
    • First observedget_pokemon_list
    • First observedget_pokemon_species
    • First observedget_pokemon_type
    • First observedsearch_pokemon

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct resource: Pokemon, species, type, move, search, and list. There is no overlap, and descriptions clearly differentiate them.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with underscores, predominantly using 'get_' (5 of 6) and one 'search_'. No mixing of conventions.

Tool Count5/5

6 tools is well-scoped for a Pokemon information API, covering essential lookups without being excessive or inadequate.

Completeness4/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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