
随机生成器
STDIO随机生成工具:UUID、数字、字符串、密码、骰子和卡牌
随机生成工具:UUID、数字、字符串、密码、骰子和卡牌
A Model Context Protocol (MCP) server providing various random generation utilities, including UUID, numbers, strings, passwords, Gaussian distribution, dice rolling, and card drawing.
npm install mcp-rand
Or install globally:
npm install -g mcp-rand
npx mcp-rand
Add to your MCP client configuration:
{ "mcpServers": { "mcp-rand": { "command": "node", "args": ["path/to/mcp-rand/build/index.js"], "disabled": false, "alwaysAllow": [] } } }
// Generate UUID const uuid = await client.callTool('generate_uuid', {}); console.log(uuid); // e.g., "550e8400-e29b-41d4-a716-446655440000" // Generate random number const number = await client.callTool('generate_random_number', { min: 1, max: 100 }); console.log(number); // e.g., 42 // Generate Gaussian random number const gaussian = await client.callTool('generate_gaussian', {}); console.log(gaussian); // e.g., 0.6827 // Generate random string const string = await client.callTool('generate_string', { length: 15, charset: 'alphanumeric' }); console.log(string); // e.g., "aB9cD8eF7gH6iJ5" // Generate password const password = await client.callTool('generate_password', { length: 20 }); console.log(password); // e.g., "aB9#cD8$eF7@gH6*iJ5" // Roll dice const rolls = await client.callTool('roll_dice', { dice: ['2d6', '1d20', '4d4'] }); console.log(rolls); /* Output example: [ { "dice": "2d6", "rolls": [3, 1], "total": 4 }, { "dice": "1d20", "rolls": [4], "total": 4 }, { "dice": "4d4", "rolls": [2, 3, 2, 3], "total": 10 } ] */ // Draw cards const draw1 = await client.callTool('draw_cards', { count: 5 }); console.log(draw1); /* Output example: { "drawnCards": [ { "suit": "hearts", "value": "A" }, { "suit": "diamonds", "value": "7" }, { "suit": "clubs", "value": "K" }, { "suit": "spades", "value": "2" }, { "suit": "hearts", "value": "10" } ], "remainingCount": 47, "deckState": "t//+///bDw==" } */ // Draw more cards using previous deck state const draw2 = await client.callTool('draw_cards', { count: 3, deckState: draw1.deckState }); console.log(draw2); /* Output example: { "drawnCards": [ { "suit": "diamonds", "value": "Q" }, { "suit": "clubs", "value": "5" }, { "suit": "spades", "value": "J" } ], "remainingCount": 44, "deckState": "l//+//zbDw==" } */
Please see CONTRIBUTING.md for development setup and guidelines.
ISC