Skip to Content
REST API

REST API

For programmatic access without MCP, use the stateless REST API.

Endpoint

POST https://api.pokemcp.com/api/tools

Request Format

{ "tool": "tool_name", "args": { "param1": "value1", "param2": "value2" } }

Response Format

{ "jsonrpc": "2.0", "id": null, "result": { "content": [ { "type": "text", "text": "Tool response text..." } ] } }

Examples

Get Meta Threats

curl -X POST https://api.pokemcp.com/api/tools \ -H "Content-Type: application/json" \ -d '{ "tool": "get_meta_threats", "args": { "format": "gen9ou", "limit": 5 } }'

Lookup Pokemon

curl -X POST https://api.pokemcp.com/api/tools \ -H "Content-Type: application/json" \ -d '{ "tool": "lookup_pokemon", "args": { "pokemon": "Garchomp" } }'

Validate Team

curl -X POST https://api.pokemcp.com/api/tools \ -H "Content-Type: application/json" \ -d '{ "tool": "validate_team", "args": { "team": [ {"pokemon": "Garchomp", "moves": ["Earthquake", "Dragon Claw"]}, {"pokemon": "Landorus-Therian", "moves": ["U-turn", "Earthquake"]} ], "format": "gen9ou" } }'
curl -X POST https://api.pokemcp.com/api/tools \ -H "Content-Type: application/json" \ -d '{ "tool": "get_popular_sets", "args": { "pokemon": "Kingambit", "format": "gen9ou" } }'

Query Strategy (RAG)

curl -X POST https://api.pokemcp.com/api/tools \ -H "Content-Type: application/json" \ -d '{ "tool": "query_strategy", "args": { "query": "How do I counter Kingambit?", "format": "gen9ou" } }'

Available Tools

All 11 MCP tools are available via the REST API:

ToolRequired ArgsOptional Args
lookup_pokemonpokemongeneration
validate_movesetpokemon, movesgeneration
validate_teamteamformat
suggest_team_coveragecurrent_teamformat
get_popular_setspokemonformat
get_meta_threats-format, limit
get_teammatespokemonformat, limit
get_checks_counterspokemonformat, limit
get_metagame_stats-format
query_strategyqueryformat, pokemon, limit
search_strategic_contentquerypokemon, format, sectionType, limit

Error Handling

Errors return a JSON response with an error field:

{ "error": "Tool name is required" }

Or for tool execution errors:

{ "error": "Tool execution failed", "details": "Error message..." }

CORS

The API supports CORS for browser-based applications. All origins are allowed.

Rate Limits

Currently no rate limits are enforced. Please be respectful with usage.

Last updated on