
Pokémon Paste
STDIOMCP server for creating and sharing Pokémon team builds via Pokepaste URLs.
MCP server for creating and sharing Pokémon team builds via Pokepaste URLs.
MCP server for creating Pokémon pastes (pokepastes)
npm install -g pokemon-paste-mcp
npm install npm run build
The server provides a create_pokepaste
tool that accepts Pokemon set data and creates a Pokepaste URL.
Creates a Pokepaste from an array of Pokemon set objects.
Parameters:
pokemon
(array, required): Array of Pokemon set objectstitle
(string, optional): Title for the pasteauthor
(string, optional): Author namenotes
(string, optional): Additional notesPokemon Set Object Structure:
{ "name": "string", "species": "string", "item": "string", "ability": "string", "moves": ["string", "string", "string", "string"], "nature": "string", "gender": "string", "evs": { "hp": 0, "atk": 252, "def": 0, "spa": 4, "spd": 0, "spe": 252 }, "ivs": { "hp": 31, "atk": 31, "def": 31, "spa": 31, "spd": 31, "spe": 31 }, "level": 50, "shiny": false, "happiness": 255, "pokeball": "Poke Ball", "hpType": "Electric", "dynamaxLevel": 10, "gigantamax": false, "teraType": "Electric" }
Example Usage:
{ "pokemon": [ { "name": "Pikachu", "species": "Pikachu", "item": "Light Ball", "ability": "Static", "moves": ["Thunderbolt", "Quick Attack", "Iron Tail", "Agility"], "nature": "Jolly", "gender": "M", "evs": { "hp": 0, "atk": 252, "def": 0, "spa": 4, "spd": 0, "spe": 252 }, "ivs": { "hp": 31, "atk": 31, "def": 31, "spa": 31, "spd": 31, "spe": 31 }, "level": 50 } ], "title": "My Team", "author": "Trainer" }
Configure your MCP client (Claude Desktop, Cursor, etc.):
Using remote npm package:
{ "mcpServers": { "pokemon-paste": { "command": "npx", "args": ["pokemon-paste-mcp"], "env": {} } } }
Local development:
{ "mcpServers": { "pokemon-paste": { "command": "node", "args": ["/path/to/pokemon-paste-mcp/dist/index.js"], "env": {} } } }
You can test the local MCP server using the MCP Inspector:
npm run build npx @modelcontextprotocol/inspector node path/to/pokemon-paste-mcp/dist/index.js
If you want to test the MCP server directly with your MCP client, use this complete test input:
{ "pokemon": [ { "name": "Pikachu", "species": "Pikachu", "item": "Light Ball", "ability": "Static", "moves": ["Thunderbolt", "Quick Attack", "Iron Tail", "Agility"], "nature": "Jolly", "gender": "M", "evs": { "hp": 0, "atk": 252, "def": 0, "spa": 4, "spd": 0, "spe": 252 }, "ivs": { "hp": 31, "atk": 31, "def": 31, "spa": 31, "spd": 31, "spe": 31 }, "level": 50, "shiny": false }, { "name": "Charizard", "species": "Charizard", "item": "Charcoal", "ability": "Blaze", "moves": ["Flamethrower", "Air Slash", "Solar Beam", "Roost"], "nature": "Modest", "gender": "M", "evs": { "hp": 4, "atk": 0, "def": 0, "spa": 252, "spd": 0, "spe": 252 }, "ivs": { "hp": 31, "atk": 0, "def": 31, "spa": 31, "spd": 31, "spe": 31 }, "level": 50, "teraType": "Fire" }, { "name": "Alakazam", "species": "Alakazam", "item": "Life Orb", "ability": "Magic Guard", "moves": ["Psychic", "Focus Blast", "Shadow Ball", "Recover"], "nature": "Timid", "gender": "M", "evs": { "hp": 4, "atk": 0, "def": 0, "spa": 252, "spd": 0, "spe": 252 }, "ivs": { "hp": 31, "atk": 0, "def": 31, "spa": 31, "spd": 31, "spe": 31 }, "level": 50, "shiny": true, "pokeball": "Ultra Ball" } ], "title": "Sample Competitive Team", "author": "Pokemon Trainer", "notes": "A balanced team with Pikachu as the main attacker, Charizard for coverage, and Alakazam for special sweeping." }
This test input includes:
The expected output should be a Pokepaste URL that you can visit to see the formatted team.
Interested in the progress of this project? Feel free to follow the repo for live updates!
If you need to get a hold of me regarding this project, feel free to either:
If you're interested in helping to fund this project, you can support me here. Any and all support is greatly appreciated!
MIT