Skip to main content
Glama
julie-berlin

Tavily Web Search MCP Server

by julie-berlin

roll_dice

Generate random dice rolls using standard dice notation to simulate game mechanics or random events. Specify notation like '2d6' for multiple dice and rolls.

Instructions

Roll the dice with the given notation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notationYes
num_rollsNo

Implementation Reference

  • server.py:20-24 (handler)
    The primary MCP tool handler for 'roll_dice', decorated with @mcp.tool() for registration. It instantiates DiceRoller with parameters and returns its string representation containing the roll results.
    @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)
  • Core helper method in DiceRoller class that implements the dice rolling logic: parses notation like '2d20k1', rolls the dice randomly, sorts descending, selects top 'k' rolls, and returns lists of 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
  • Helper method that executes the rolls (calling roll_dice or roll_multiple) and formats the output string in the style used by the tool response, handling single or multiple rolls.
    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)

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