Skip to main content
Glama
julie-berlin

Tavily Web Search MCP Server

by julie-berlin

roll_dice

Generate random dice rolls using standard notation like '2d6+3' to simulate probability-based outcomes for games, decisions, or calculations.

Instructions

Roll the dice with the given notation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notationYes
num_rollsNo

Implementation Reference

  • server.py:20-24 (handler)
    The main handler function for the 'roll_dice' MCP tool. Registered via @mcp.tool(), it instantiates DiceRoller with the input parameters and returns its formatted string output which performs the actual dice rolls.
    @mcp.tool() def roll_dice(notation: str, num_rolls: int = 1) -> str: """Roll the dice with the given notation""" roller = DiceRoller(notation, num_rolls) return str(roller)
  • Helper method in DiceRoller class that parses the dice notation (e.g., '2d20k1'), generates random rolls, sorts them descending, keeps the highest 'k' rolls, and returns all rolls and kept rolls.
    def roll_dice(self): match = self.dice_pattern.match(self.notation) if not match: raise ValueError("Invalid dice notation") num_dice = int(match.group(1)) dice_sides = int(match.group(2)) keep = int(match.group(4)) if match.group(4) else num_dice rolls = [random.randint(1, dice_sides) for _ in range(num_dice)] rolls.sort(reverse=True) kept_rolls = rolls[:keep] return rolls, kept_rolls
  • The __str__ method of DiceRoller that executes the rolls (via roll_dice or roll_multiple) and formats the output string with roll details and totals, used by the tool handler.
    def __str__(self): if self.num_rolls == 1: rolls, kept_rolls = self.roll_dice() return f"ROLLS: {', '.join(map(str, rolls))} -> RETURNS: {sum(kept_rolls)}" else: results = self.roll_multiple() result_strs = [] for i, result in enumerate(results, 1): result_strs.append(f"Roll {i}: ROLLS: {', '.join(map(str, result['rolls']))} -> RETURNS: {result['total']}") return "\n".join(result_strs)
  • server.py:20-20 (registration)
    The @mcp.tool() decorator registers the roll_dice function as an MCP tool.
    @mcp.tool()
Install Server

Other Tools

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/julie-berlin/pub-aie7-mcp-session'

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