io. github. cyanheads/ pokeapi-mcp-server
by cyanheads · remote · local (npm) · no sign-in to list tools · v0.2.1 · published by GitHub user cyanheads
Look up Pokémon, moves, abilities, items, natures, and type matchups from PokéAPI v2.
7 tools: 7 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads7Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http pokeapi https://pokeapi.caseyjhand.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
7 tools
Only reads 7Claude Code: allow
pokeapi_find_pokemonFilter Pokémon by generation, type, regional pokédex, or egg group.No findings
Why it is in this group
- The name "pokeapi_find_pokemon" says "find": a word for reading.
Description, as the server wrote it Filter Pokémon by generation, type, regional pokédex, or egg group. Returns names and PokéAPI IDs; every returned name works as a pokeapi_get_pokemon identifier, where a species name resolves to its default variety. At least one of generation, type, pokedex, or egg_group is required; the ones provided are combined with AND logic, and query adds strict token matching on name within them. A call with no category filter, with or without query, returns an empty result and a notice naming the requirement.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
pokeapi_get_abilityGet ability details by name or numeric ID — full English effect text, short effect text, generation introduced, and the list of Pokémon that have the ability (including hidden-abil…No findings
Why it is in this group
- The name "pokeapi_get_ability" says "get": a word for reading.
Description, as the server wrote it Get ability details by name or numeric ID — full English effect text, short effect text, generation introduced, and the list of Pokémon that have the ability (including hidden-ability flag and slot). Ability names are returned by pokeapi_get_pokemon in the abilities array.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
pokeapi_get_itemGet item details by name or numeric ID — effect text, category, versioned purchase and sell prices, fling power, item attributes (holdable, consumable, etc.), sprite URL, and Pokém…No findings
Why it is in this group
- The name "pokeapi_get_item" says "get": a word for reading.
Description, as the server wrote it Get item details by name or numeric ID — effect text, category, versioned purchase and sell prices, fling power, item attributes (holdable, consumable, etc.), sprite URL, and Pokémon that commonly hold it.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
pokeapi_get_moveGet move details by name or numeric ID — type, damage class, power, accuracy, PP, priority, target, stat changes, status-effect chance, and full English effect text.No findings
Why it is in this group
- The name "pokeapi_get_move" says "get": a word for reading.
Description, as the server wrote it Get move details by name or numeric ID — type, damage class, power, accuracy, PP, priority, target, stat changes, status-effect chance, and full English effect text. Set include_learners=true to include the list of Pokémon that can learn the move. Move names are available from pokeapi_get_pokemon when include_moves=true.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
pokeapi_get_natureGet nature details — the stat boosted (+10%), stat reduced (-10%), and preferred/disliked berry flavors.No findings
Why it is in this group
- The name "pokeapi_get_nature" says "get": a word for reading.
Description, as the server wrote it Get nature details — the stat boosted (+10%), stat reduced (-10%), and preferred/disliked berry flavors. Omit the identifier to list all 25 natures at once. Natures are critical for competitive team-building: every non-neutral nature modifies two stats by ±10%.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
pokeapi_get_pokemonGet a fully denormalized Pokémon dossier in a single call — base stats, types, abilities (with full English effect text), height/weight, resolved evolution chain, sprite URLs inclu…No findings
Why it is in this group
- The name "pokeapi_get_pokemon" says "get": a word for reading.
Description, as the server wrote it Get a fully denormalized Pokémon dossier in a single call — base stats, types, abilities (with full English effect text), height/weight, resolved evolution chain, sprite URLs including official artwork, species flavor text, variety list, capture rate, growth rate, gender rate, legendary/mythical flags, egg groups, and (optionally) a summarized learnable-move list. Accepts a name (lowercase, hyphens for spaces, e.g. "bulbasaur", "mr-mime") or PokéAPI Pokémon-record ID. A species name with no Pokémon record of its own (e.g. "deoxys") resolves to the default variety of that species ("deoxys-normal"), reported in resolvedFromSpecies. Set include_moves=true to include the move summary (large); defaults to false. Use game_version to select flavor text from a specific game (e.g. "sword", "red"); falls back to the most recent English entry when the version is not found. Use pokeapi_find_pokemon to discover Pokémon by type, generation, or egg group before calling this tool.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
pokeapi_get_type_matchupsGet the full offensive and defensive type effectiveness breakdown.No findings
Why it is in this group
- The name "pokeapi_get_type_matchups" says "get": a word for reading.
Description, as the server wrote it Get the full offensive and defensive type effectiveness breakdown. Provide either a type name (e.g. "fire", "psychic") or a Pokémon identifier (name or PokéAPI Pokémon-record ID; a species name resolves to its default variety). For dual-type Pokémon, the defensive multipliers are correctly composed (e.g. Fire/Flying vs Rock = 4× because both types are weak to Rock). Exactly one of type or pokemon must be provided.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.2.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http pokeapi https://pokeapi.caseyjhand.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__pokeapi__pokeapi_get_pokemon",
"mcp__pokeapi__pokeapi_get_type_matchups",
"mcp__pokeapi__pokeapi_get_move",
"mcp__pokeapi__pokeapi_get_ability",
"mcp__pokeapi__pokeapi_get_item",
"mcp__pokeapi__pokeapi_get_nature",
"mcp__pokeapi__pokeapi_find_pokemon"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pokeapi. Review it before you use it.
