Skip to main content
Glama
pmhw

MCP Lottery Demo

by pmhw

roll_dice

Roll dice with customizable sides and quantities for random number generation in games, simulations, or decision-making scenarios.

Instructions

投掷骰子,支持自定义面数和数量

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo骰子数量,默认为1
sidesNo骰子面数,默认为6

Implementation Reference

  • Handler for roll_dice tool: validates sides and count parameters, generates random dice rolls from 1 to sides for specified count, computes total if multiple, formats and returns text content.
    case 'roll_dice': { // 投骰子工具:模拟投掷骰子 const { sides = 6, count = 1 } = args; // 参数验证 if (sides < 2) { throw new Error('骰子面数至少为2'); } if (count < 1) { throw new Error('骰子数量至少为1'); } // 执行投骰子逻辑 const results = []; let total = 0; for (let i = 0; i < count; i++) { // 生成 1 到 sides 之间的随机数 const roll = Math.floor(Math.random() * sides) + 1; results.push(roll); total += roll; } // 根据骰子数量格式化输出 const resultText = count === 1 ? `🎲 投掷结果:${results[0]}` : `🎲 投掷结果:${results.join(', ')}\n📊 总计:${total}`; return { content: [ { type: 'text', text: resultText, }, ], }; }
  • Input schema for roll_dice tool defining properties sides (number, default 6) and count (number, default 1).
    { name: 'roll_dice', description: '投掷骰子,支持自定义面数和数量', inputSchema: { type: 'object', properties: { sides: { type: 'number', description: '骰子面数,默认为6', default: 6, }, count: { type: 'number', description: '骰子数量,默认为1', default: 1, }, }, }, },
  • Handler for roll_dice tool in HTTP server: identical logic to stdio version, validates parameters, rolls dice, formats result.
    case 'roll_dice': { const { sides = 6, count = 1 } = args; if (sides < 2) { throw new Error('骰子面数至少为2'); } if (count < 1) { throw new Error('骰子数量至少为1'); } const results = []; let total = 0; for (let i = 0; i < count; i++) { const roll = Math.floor(Math.random() * sides) + 1; results.push(roll); total += roll; } const resultText = count === 1 ? `🎲 投掷结果:${results[0]}` : `🎲 投掷结果:${results.join(', ')}\n📊 总计:${total}`; return { content: [ { type: 'text', text: resultText, }, ], }; }
  • Input schema for roll_dice tool in HTTP server: properties sides (number, default 6) and count (number, default 1).
    name: 'roll_dice', description: '投掷骰子,支持自定义面数和数量', inputSchema: { type: 'object', properties: { sides: { type: 'number', description: '骰子面数,默认为6', default: 6, }, count: { type: 'number', description: '骰子数量,默认为1', default: 1, }, }, },
  • src/server.js:118-122 (registration)
    Registration of tools list handler which includes roll_dice in the tools array.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools, // 返回工具列表 }; });

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/pmhw/McpDemo'

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