Skip to main content
Glama

calculate_experience

Determine experience points for a D&D encounter by inputting party size, average level, and total encounter XP. Simplify encounter balancing for Dungeon Masters.

Instructions

Calculate experience points for an encounter.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
encounter_xpYesTotal encounter XP value
party_levelYesAverage party level
party_sizeYesNumber of party members

Implementation Reference

  • The handler function implementing the calculate_experience tool logic. It is registered via @mcp.tool decorator. Calculates adjusted XP per player based on encounter XP and party size using D&D 5e multipliers. The function signature provides input schema via Annotated Fields.
    @mcp.tool def calculate_experience( party_size: Annotated[int, Field(description="Number of party members", ge=1)], party_level: Annotated[int, Field(description="Average party level", ge=1, le=20)], encounter_xp: Annotated[int, Field(description="Total encounter XP value", ge=0)], ) -> str: """Calculate experience points for an encounter.""" # D&D 5e encounter multipliers based on party size if party_size < 3: multiplier = 1.5 elif party_size > 5: multiplier = 0.5 else: multiplier = 1.0 adjusted_xp = int(encounter_xp * multiplier) xp_per_player = adjusted_xp // party_size return f"""**Experience Calculation:** Base Encounter XP: {encounter_xp} Party Size Multiplier: {multiplier}x Adjusted XP: {adjusted_xp} **XP per Player: {xp_per_player}**"""

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/study-flamingo/gamemaster-mcp'

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