Pokedex 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., "@Pokedex MCP ServerCompare Bulbasaur, Charmander, and Squirtle."
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.
Pokédex MCP Server
A local Model Context Protocol server that exposes a public, read-only Gen I Pokédex knowledge base (National Pokédex #001–#025) to Claude Desktop.
It fetches plain Markdown directly from the public GitHub repository
alexverdin/llm-pokedex-demo
over raw.githubusercontent.com — no authentication, no tokens, no git
clone, no database. Downloaded files are held in an in-memory cache (default
TTL: 10 minutes) so repeated queries don't re-download.
What it does
Tools (7):
Tool | Description |
| All 25 entries |
| Entries whose name contains |
| Get one entry by |
|
|
| Compare 2–6 |
| Rank all 25 by |
| Evolution section text for an id/name + related entries resolved by scanning other files. |
Resources (2):
pokedex://index— rawINDEX.md.pokedex://pokemon/{id}— raw entry Markdown for a 3-digit id.
Related MCP server: Pokemon MCP Server
Requirements
Node.js ≥ 20 (
node --version).An MCP client — Claude Desktop and/or OpenCode.
Installation
git clone https://github.com/alexverdin/mcp-pokedex-demo.git
cd mcp-pokedex-demo
npm install
npm run buildVerify it starts (Ctrl+C to stop — it waits for a client on stdio):
npm start
# stderr: pokedex-mcp running on stdio (repo: alexverdin/llm-pokedex-demo@main)Claude Desktop config
Add the server to claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Use an absolute path to the built entry point (dist/index.js):
{
"mcpServers": {
"pokedex": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/mcp-pokedex-demo/dist/index.js"]
}
}
}Windows example (note the doubled backslashes):
{
"mcpServers": {
"pokedex": {
"command": "node",
"args": ["C:\\Users\\you\\mcp-pokedex-demo\\dist\\index.js"]
}
}
}Restart Claude Desktop (fully quit and reopen) after editing the config. The server and its tools appear once Claude Desktop relaunches.
Optional flags
Point the server at a fork or tune the cache by adding flags to args:
"args": [
"/ABSOLUTE/PATH/TO/dist/index.js",
"--repo", "your-user/your-fork",
"--branch", "main",
"--ttl", "600000"
]--repoacceptsowner/repoor a fullgithub.comURL. Default:alexverdin/llm-pokedex-demo.--branchdefault:main.--ttlcache lifetime in ms. Default:600000(10 min).
OpenCode config
OpenCode reads MCP servers from an opencode.json file.
Add the server under the mcp block as a local (stdio) server, pointing
command at the built entry point (dist/index.js).
Config file locations (project config overrides global):
Global:
%USERPROFILE%\.config\opencode\opencode.jsonProject:
opencode.jsonin the repo root
Use an absolute path with doubled backslashes on Windows:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"pokedex": {
"type": "local",
"command": ["node", "C:\\ABSOLUTE\\PATH\\TO\\mcp-pokedex\\dist\\index.js"],
"enabled": true
}
}
}macOS / Linux example:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"pokedex": {
"type": "local",
"command": ["node", "/ABSOLUTE/PATH/TO/mcp-pokedex/dist/index.js"],
"enabled": true
}
}
}Restart the OpenCode session after editing. The server's tools then appear in the agent's tool list.
Optional flags (same as above) go in the command array after the script path:
"command": [
"node",
"C:\\ABSOLUTE\\PATH\\TO\\mcp-pokedex\\dist\\index.js",
"--repo", "your-user/your-fork",
"--branch", "main",
"--ttl", "600000"
]Example prompts
"List all Pokédex entries that are Fire type."
"Get the base stats for Pikachu."
"Compare Bulbasaur, Charmander, and Squirtle."
"What are the three fastest Pokémon in the Pokédex?"
"Show me the evolution chain for Charmander."
"Search for Pokémon whose name contains 'saur'."
Troubleshooting
Server not showing up: confirm the path in
argsis absolute and points atdist/index.js(notsrc/), and that you rannpm run build. Fully restart Claude Desktop.node: command not found: Claude Desktop must findnodeon PATH. Use an absolute path to the node binary incommandif needed (e.g./usr/local/bin/nodeor the output ofwhich node/where node).Wrong Node version: requires Node ≥ 20 (
node --version). ESM + globalfetchdepend on it.Logs:
macOS:
~/Library/Logs/Claude/mcp*.logWindows:
%APPDATA%\Claude\logs\mcp*.logThe server writes its own diagnostics to stderr (stdout is reserved for the MCP protocol).
Network: the only outbound host is
raw.githubusercontent.com. A 404 for an entry usually means an out-of-range id (valid ids are001–025).
Development
npm run dev # tsx watch mode (rebuild-free)
npm run build # compile to dist/
npm start # run compiled serverTesting with MCP Inspector
MCP Inspector lets you call tools and read resources directly, no Claude Desktop / OpenCode needed.
npm run build
npx @modelcontextprotocol/inspector node dist/index.jsTerminal prints a URL with an auth token, e.g.:
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=<token>Open it in browser. Transport preset to stdio, command node dist/index.js.
Click Connect, then:
Tools tab — pick a tool (e.g.
get_pokemon), fill args (id: "025"), Run.Resources tab — read
pokedex://indexorpokedex://pokemon/001.
To test against a fork or non-default flags, append them after the script path:
npx @modelcontextprotocol/inspector node dist/index.js --repo your-user/your-fork --ttl 600000Ctrl+C in the terminal stops both Inspector and the server.
License
MIT — see LICENSE.
Available Tools
7 toolscompare_pokemonCompare PokémonA
Compare 2–6 entries. Returns a Markdown table of types + all base stats.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | 3-digit ids, e.g. ["001","004","007"]. |
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. It does disclose the output format (Markdown table with types and all base stats) and the valid input count, which is useful. However, it does not mention behavior for missing/invalid IDs, ordering of results, or whether all base stats includes hidden stats or just visible ones.
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 two short sentences, front-loaded with the core purpose and immediately followed by the output format. Every word earns its place; no fluff or repetition.
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 simple one-parameter schema and the absence of an output schema, the description adequately conveys both purpose and return format. It covers the range of inputs and the content of the returned table. Minor gaps like ordering or missing-entry behavior prevent a perfect score.
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 fully documents the single 'ids' parameter (pattern, min/max, description). The description adds no new parameter-level information beyond what the schema already provides, so the baseline of 3 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's action (compare), target (Pokémon entries), valid input count (2–6), and output (Markdown table). This distinguishes it from siblings like get_pokemon (single entry) and rank_by_stat (ranking, not direct comparison).
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 intended use is implied by 'Compare 2–6 entries', suggesting it is for multi-entry comparison rather than single-entry lookup. However, it does not explicitly contrast with alternatives like get_base_stats or rank_by_stat, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_base_statsGet base statsA
Return { hp, attack, defense, spAtk, spDef, speed, total } as numbers for an id or name.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It states the return format (numbers) and input modes (id or name), which is minimal but functional for a simple read operation. It does not address edge cases like 'not found' or precedence when both id and name are provided, nor explicitly confirm read-only behavior.
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, front-loaded sentence with no filler words or redundant detail. It efficiently communicates the tool's purpose and output.
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, the description covers the essential purpose and return shape. It lacks edge-case behavior, such as not-found handling or parameter precedence, and does not explicitly state if the operation is read-only (since no annotations are present). The output schema is also absent, so the return structure in the description is the only guide.
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 schema has zero description coverage, so the description must compensate. It adds that either 'id' or 'name' can be used, which clarifies the parameter usage. However, it does not specify name matching semantics (exact vs partial) or what happens if both are given, leaving room for ambiguity.
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 'Return { hp, attack, defense, spAtk, spDef, speed, total } as numbers for an id or name,' which is a specific verb ('return') and resource ('base stats'), distinguishing it from siblings like get_pokemon or compare_pokemon. It also scopes the input to an id or name, making the purpose unmistakable.
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 implies the tool is used by providing an id or name, which is the core usage context. However, it does not explicitly mention alternatives or when to prefer this over get_pokemon, search_by_name, or compare_pokemon. The guidance is clear but not exclusionary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_evolution_chainGet evolution chainA
Return the Evolution section text for an id or name, plus related entries (other Pokémon whose Evolution text mentions this one, and any names this entry mentions).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It accurately describes the read-only return of text and related entries, but does not explain how invalid/missing inputs are handled or what happens when both id and name are provided. The core behavior is disclosed, but not exhaustively.
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 sentence that front-loads the core purpose and includes necessary detail about related entries. It is concise and free of extraneous content, though the trailing clause adds slight complexity.
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?
The tool's return value is described at a high level, covering the text and related entries. However, without an output schema, the structure of the returned data is vague, and there is no mention of error behavior or preferred parameter. The simplicity of the tool makes this acceptable, 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 description states 'for an id or name', which adds that either parameter can be used, but this is already implied by the schema having both properties. With 0% schema description coverage, this minimal clarification does not compensate for the lack of parameter-level detail. It does not explain mutual exclusivity, format of name, or precedence.
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 returns the Evolution section text for an id or name, plus related entries. This specific verb and resource distinguish it from sibling tools like get_pokemon or list_pokedex_entries.
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 implies the tool is for retrieving evolution-related text, but it does not explicitly state when to use it over alternatives. No exclusions or alternative tool references are provided, leaving usage context somewhat implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pokemonGet PokémonA
Get an entry by id (e.g. "025") or name (e.g. "pikachu"). Returns parsed data by default; use format to include raw Markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| format | No | "parsed" (default), "markdown", or "both". | parsed |
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. It discloses the default return behavior ('parsed data') and the option to include raw Markdown, but does not cover error handling, exact response shape, or whether both id and name can be used together.
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?
Two concise sentences: first delivers the core action and examples, second explains the format option. Zero wasted words, information is front-loaded.
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?
Adequately covers the essential usage for a simple lookup tool: identification methods, return format expectations. However, without an output schema, the description does not explain what 'parsed data' actually contains, which is a minor gap.
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 only 33% (only format has a description). The description adds practical meaning by giving id/name examples and explaining format's effect. It does not clarify whether id and name are mutually exclusive, but the 'or' phrasing implies it.
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?
Specifically says 'Get an entry by id (e.g. "025") or name (e.g. "pikachu")' – a clear verb+resource with identification methods that distinguishes it from siblings like get_base_stats or get_evolution_chain.
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?
Provides clear context: this is for fetching a single Pokémon entry by id or name, with a format option. It does not explicitly mention exclusions or alternative tools, but the context leaves little ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pokedex_entriesList Pokédex entriesA
Parse INDEX.md and return all entries as [{ id, name, types, file }]. Optional case-insensitive substring filter on type.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by type, e.g. "fire" (case-insensitive substring). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses the source (INDEX.md), the exact return format, and the filtering behavior (case-insensitive substring). It does not mention error handling but is sufficient for a read-only listing.
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?
Two sentences, front-loaded with core action, no filler 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?
Simple tool with one optional parameter and no output schema; description covers the return shape and filter behavior. Missing edge-case handling but adequate for intended use.
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 already includes a description for the 'type' parameter with 100% coverage. The tool description reiterates the same filter info without adding new meaning, so baseline 3 applies.
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?
Description says 'Parse INDEX.md and return all entries as [{ id, name, types, file }]' which clearly states the action and output structure. This distinguishes it from siblings that focus on specific lookups or stats.
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?
Clear context: use when you need the full list of Pokédex entries, optionally filtered by type. It does not explicitly mention alternatives or when not to use, but the purpose is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank_by_statRank by statA
Rank all 25 entries by a base stat. order defaults to desc, limit defaults to 5.
| Name | Required | Description | Default |
|---|---|---|---|
| stat | Yes | Stat to rank by. | |
| limit | No | How many to return (default 5). | |
| order | No | "asc" or "desc" (default desc). | desc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It mentions the fixed scope ('all 25 entries') and default values for order and limit, which is useful. However, it does not describe the output format, tie-breaking behavior, or whether it is a read-only operation, leaving some ambiguity.
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 two concise sentences, front-loaded with the primary action and followed by essential defaults. Every word adds value, with no redundancy or filler.
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 ranking tool with full parameter schema coverage and no output schema, the description adequately covers purpose and defaults. It does not explain the exact return shape, but this is a minor gap given the tool's simplicity and the context provided by sibling tools.
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 already provides complete parameter descriptions and defaults (stat enum, limit default 5, order default desc). The description's mention of defaults duplicates schema information, adding no new semantic insight. Baseline of 3 applies due to 100% 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's function with a specific verb ('Rank') and resource ('all 25 entries by a base stat'). This differentiates it from sibling tools like search_by_name or get_pokemon, which serve other purposes.
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 implies its use case (ranking entries by a stat) but does not explicitly state when to prefer it over alternatives or provide exclusions. There is no mention of competing tools or circumstances where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_nameSearch by nameA
Return entries whose name contains the query (case-insensitive substring).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Substring to match against names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are given, so the description must relay behavioral traits. It discloses the case-insensitive substring matching, but does not mention return format, edge cases (e.g., no matches), sorting, or explicit read-only assurance. Since it uses 'Return,' it implies a non-mutating operation, but additional behavioral details would be beneficial.
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, focused sentence that immediately communicates the action, resource, and matching constraint. There is no filler or unnecessary detail, exemplifying concise structure.
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 tool with one parameter and no output schema, the description covers the core matching behavior well. However, it omits information about return value format, result limits, and pagination, which are relevant for an agent consuming the output. This leaves a noticeable gap in completeness.
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 already describes the only parameter 'query' as a substring to match, and the description enriches this by specifying case-insensitivity and that matching targets the 'name' field. This adds value beyond the schema alone.
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 identifies the tool's action ('Return entries'), the target resource ('whose name'), and the matching behavior ('contains the query (case-insensitive substring)'). This distinguishes it from siblings like get_pokemon (exact lookup) and list_pokedex_entries (full list), making the purpose unmistakable.
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 implicitly defines when to use this tool: when you need entries matching a case-insensitive substring of the name. It does not explicitly state alternatives or exclusions, but the distinct matching semantics provide clear context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: search by substring, retrieve full entry, retrieve stats, compare multiple, rank by stat, get evolution chain, and list entries with optional type filter. No two tools target the same operation, so selector confusion is unlikely.
All tool names follow a consistent verb_noun pattern (search_by_name, get_pokemon, get_base_stats, compare_pokemon, rank_by_stat, get_evolution_chain, list_pokedex_entries). Naming is uniform and predictable across the entire set.
Seven tools is well-scoped for a focused Pokedex server, covering the core data access needs without unnecessary bloat. Each tool provides a distinct useful capability, fitting comfortably within the ideal 3–15 range.
The tool surface covers the full read-only lifecycle of the Pokedex domain: listing, searching, retrieving, detailed stats, comparisons, rankings, and evolution chains. There are no obvious dead ends or missing fundamental operations for the apparent scope (a 25-entry dataset).
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.
Real sold prices, history & PSA population for graded Pokémon cards (EN/JP/CN). Knows nicknames.
Connect to your CollectHolo Pokémon card collection. Check your portfolio value, look up card, sealed and graded (PSA/BGS/CGC) prices from Cardmarket, TCGplayer, eBay, Goldin and Fanatics, search the catalog in six languages, import a whole collection from a spreadsheet, and add or update holdings in plain language. Every change asks for confirmation.
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
- FlicenseNot gradedqualityDmaintenanceProvides Pokemon information from PokeAPI including stats, types, height, and weight. Enables looking up Pokemon by name/ID, getting random Pokemon by type, and comparing Pokemon side-by-side.
- FlicenseNot gradedqualityDmaintenanceEnables users to fetch detailed Pokémon data, build tournament squads, and simulate battles using PokéAPI. It also integrates Wikipedia to provide fun comparisons between Pokémon and their real-world animal inspirations.
- AlicenseAqualityDmaintenanceEnables querying Pokemon information from PokeAPI, including Pokemon details, types, moves, abilities, evolution chains, and search functionality, through natural language.2813Apache 2.0
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/alexverdin/mcp-pokedex-demo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server