MCP ExplorerExplorer

Pokemon Paste Mcp

@jpbullalayaoon 15 days ago
1 MIT
FreeCommunity
AI Systems
#pokemon#pokemon-vgc#pokemonvgc#pokepaste#vgc
MCP server for creating pokepastes

Overview

What is Pokemon Paste Mcp

pokemon-paste-mcp is an MCP server designed for creating Pokémon pastes, allowing users to easily generate and share Pokémon team compositions.

Use cases

Use cases include generating and sharing team compositions for Pokémon battles, collaborating with other trainers on team strategies, and storing Pokémon setups for future reference.

How to use

To use pokemon-paste-mcp, install it via npm with ‘npm install -g pokemon-paste-mcp’ or from source. Utilize the ‘create_pokepaste’ tool to input Pokémon set data and generate a Pokepaste URL.

Key features

Key features include the ability to create Pokepastes from an array of Pokémon set objects, customizable titles and authors, and detailed Pokémon set object structures including stats and moves.

Where to use

pokemon-paste-mcp can be used in gaming communities, particularly among Pokémon trainers and competitive players who wish to share their team strategies and setups.

Content

Pokemon Paste MCP Server

MCP server for creating Pokémon pastes (pokepastes)

Pokemon Paste Server MCP server

Installation

From npm (Recommended)

npm install -g pokemon-paste-mcp

From source

npm install
npm run build

Usage

The server provides a create_pokepaste tool that accepts Pokemon set data and creates a Pokepaste URL.

Tool: create_pokepaste

Creates a Pokepaste from an array of Pokemon set objects.

Parameters:

  • pokemon (array, required): Array of Pokemon set objects
  • title (string, optional): Title for the paste
  • author (string, optional): Author name
  • notes (string, optional): Additional notes

Pokemon 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"
}

MCP Client Configuration

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": {}
    }
  }
}

Testing

Local MCP Tool Testing

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:

  • Three diverse Pokemon with different roles
  • Various optional fields (shiny, teraType, pokeball)
  • Sample EV/IV spreads for competitive play
  • Team metadata (title, author, notes)

The expected output should be a Pokepaste URL that you can visit to see the formatted team.

Author’s Note

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!

License

MIT

Tools

No tools

Comments