{"name":"io.github.cyanheads/pokeapi-mcp-server","slug":"cyanheads-pokeapi-mcp-server","title":null,"description":"Look up Pokémon, moves, abilities, items, natures, and type matchups from PokéAPI v2.","url":"https://mcp.market/server/cyanheads-pokeapi-mcp-server","rating":null,"grade":"A","score":93,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":33,"stars":1,"forks":0,"downloads_week":130,"last_push_at":"2026-09-19T18:56:48.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":1,"ok":1,"last_checked_at":"2026-09-19T17:30:22.932Z","last_ok_at":"2026-09-19T17:30:22.932Z","latency_ms":872},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/cyanheads/pokeapi-mcp-server","website":null,"version":"0.1.9","remotes":[{"type":"streamable-http","url":"https://pokeapi.caseyjhand.com/mcp"}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/pokeapi-mcp-server","version":"0.1.9","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/pokeapi-mcp-server","version":"0.1.9","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Session mode to use: 'auto', 'stateful', or 'stateless'. The 'auto' schema default resolves to stateful.","format":"string","default":"stateless","name":"MCP_SESSION_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"tools":[{"name":"pokeapi_find_pokemon","description":"Filter Pokémon by generation, type, regional pokédex, or egg group. Returns names and Pokédex numbers suitable for follow-up pokeapi_get_pokemon calls. All filters are optional and combined with AND logic; query adds strict token matching on name. When no category filter is provided alongside query, returns an empty result — at least one categorical filter is required.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"generation":{"description":"Generation name (e.g. \"generation-i\", \"generation-iii\"). Filters to Pokémon introduced in this generation.","type":"string"},"type":{"description":"Type name (e.g. \"fire\", \"psychic\"). Filters to Pokémon of this type.","type":"string"},"pokedex":{"description":"Regional pokédex name (e.g. \"kanto\", \"hoenn\", \"galar\"). Filters to entries in that dex.","type":"string"},"egg_group":{"description":"Egg group name (e.g. \"monster\", \"fairy\", \"dragon\"). Filters to Pokémon in this egg group.","type":"string"},"query":{"description":"Strict token match on name. \"chu\" matches \"pikachu\" and \"raichu\". Case-insensitive.","type":"string"},"limit":{"default":50,"description":"Maximum results to return. Positive integer; defaults to 50.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"offset":{"default":0,"description":"Offset into the filtered result set for pagination. Non-negative integer; defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"pokeapi_get_ability","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"identifier":{"type":"string","description":"Ability name in lowercase hyphenated form (e.g. \"overgrow\", \"speed-boost\") or numeric ID as a string."}},"required":["identifier"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"pokeapi_get_item","description":"Get item details by name or numeric ID — effect text, category, in-game cost, fling power, item attributes (holdable, consumable, etc.), sprite URL, and Pokémon that commonly hold it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"identifier":{"type":"string","description":"Item name in lowercase hyphenated form (e.g. \"choice-specs\", \"leftovers\") or numeric ID as a string."}},"required":["identifier"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"pokeapi_get_move","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"identifier":{"type":"string","description":"Move name in lowercase hyphenated form (e.g. \"flamethrower\", \"close-combat\") or numeric ID as a string."},"include_learners":{"default":false,"description":"Include the list of Pokémon that can learn this move. Defaults to false as the list can be large.","type":"boolean"}},"required":["identifier"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"pokeapi_get_nature","description":"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%.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"identifier":{"description":"Nature name (e.g. \"modest\", \"jolly\") or ID 1–25 as a string. Omit to list all 25 natures.","type":"string"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"pokeapi_get_pokemon","description":"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édex number. 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"identifier":{"type":"string","description":"Pokémon name (lowercase hyphenated, e.g. \"bulbasaur\", \"mr-mime\") or Pokédex number as a string (e.g. \"1\", \"25\")."},"include_moves":{"default":false,"description":"Include the full learnable-move summary. Defaults to false because the list is large (100–200+ moves).","type":"boolean"},"game_version":{"description":"PokéAPI version name to filter flavor text (e.g. \"sword\", \"red\", \"scarlet\"). Falls back to the most recent English entry when the version is not found.","type":"string"}},"required":["identifier"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"pokeapi_get_type_matchups","description":"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 dex number). 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"description":"Type name in lowercase (e.g. \"fire\", \"water\", \"psychic\"). Provide this or pokemon, not both.","type":"string"},"pokemon":{"description":"Pokémon name or Pokédex number. The server resolves the types automatically. Provide this or type, not both.","type":"string"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}}],"scan":{"score":93,"grade":"A","scanned_at":"2026-09-19T19:11:14.257Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:11:14.301Z","components":{"code":{"score":25,"max":25,"notes":["28 source files scanned","28 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 398ms"]},"poisoning":{"score":15,"max":15,"notes":["7 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://pokeapi.caseyjhand.com/mcp","reachable":true,"authRequired":false,"latencyMs":398,"serverInfo":{"name":"pokeapi-mcp-server","version":"0.1.9"}}],"packages":[{"registryType":"npm","identifier":"@cyanheads/pokeapi-mcp-server","version":"0.1.9","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-09-19T18:57:44.147Z","repositoryUrl":"git+https://github.com/cyanheads/pokeapi-mcp-server.git","weeklyDownloads":65},{"registryType":"npm","identifier":"@cyanheads/pokeapi-mcp-server","version":"0.1.9","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-09-19T18:57:44.147Z","repositoryUrl":"git+https://github.com/cyanheads/pokeapi-mcp-server.git","weeklyDownloads":65}],"repo":{"found":true,"owner":"cyanheads","repo":"pokeapi-mcp-server","archived":false,"pushedAt":"2026-09-19T18:56:48Z","stars":1,"forks":0,"openIssues":7,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/10339515?v=4","ownerCreatedAt":"2014-12-29T13:01:12Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/10339515?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":130,"license":"Apache-2.0","lastPushAt":"2026-09-19T18:56:48.000Z","score":33}}}},"grade_history":[],"reviews":[]}