Skip to main content
Glama
drewsungg

Pokemon Showdown MCP Server

by drewsungg

get_item

Look up held item effects for Pokemon Showdown battles. Enter an item name to get its full battle description and strategic information.

Instructions

Look up a held item by name. Returns full description of what the item does in battle.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesItem name (e.g., 'choice-scarf', 'leftovers', 'life-orb')

Implementation Reference

  • Registration of the 'get_item' tool in the list_tools() function, including name, description, and input schema definition.
    Tool(
        name="get_item",
        description="Look up a held item by name. Returns full description of what the item does in battle.",
        inputSchema={
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Item name (e.g., 'choice-scarf', 'leftovers', 'life-orb')"
                }
            },
            "required": ["name"]
        }
    ),
  • Execution handler for the 'get_item' tool within the call_tool function: calls loader.get_item, formats the response if found, or returns 'not found' message.
    elif name == "get_item":
        item = loader.get_item(arguments["name"])
        if item:
            return [TextContent(type="text", text=format_item_response(item))]
        return [TextContent(type="text", text=f"Item '{arguments['name']}' not found.")]
  • Core implementation of get_item in PokemonDataLoader: loads data if needed, normalizes item name, and retrieves from items dictionary.
    def get_item(self, name: str) -> dict | None:
        """
        Get item data by name.
    
        Args:
            name: Item name (case-insensitive)
    
        Returns:
            Item data dict or None if not found
        """
        self.load_all()
        key = self._normalize_name(name)
        return self.items.get(key)
  • Helper function to format item data into a markdown-formatted text response used by the get_item handler.
    def format_item_response(item: dict) -> str:
        """Format item data into a readable response."""
        name = item.get("name", "Unknown")
        desc = item.get("desc", item.get("shortDesc", "No description."))
        short_desc = item.get("shortDesc", "")
    
        response = f"""## {name}
    
    ### Effect
    {desc}
    """
        if short_desc and short_desc != desc:
            response += f"\n### Summary\n{short_desc}\n"
    
        return response

Latest Blog Posts

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/drewsungg/mcpkmn-showdown'

If you have feedback or need assistance with the MCP directory API, please join our Discord server