
Random Generation
Generates random data including UUIDs, numbers, passwords, strings, and simulates dice rolls and card draws. All generation happens locally without external API calls.
Provides diverse random generation utilities including UUIDs, numbers, strings, passwords, and more.
What it does
- Generate UUID v4 identifiers
- Generate random numbers with custom ranges
- Create secure passwords with mixed character types
- Generate random strings with configurable character sets
- Roll dice using standard notation (2d6, 1d20, etc.)
- Draw cards from a standard playing deck
Best for
About Random Generation
Random Generation is a community-built MCP server published by turlockmike that provides AI assistants with tools and capabilities via the Model Context Protocol. Random Generation offers diverse tools like random number generator, rng generator, random counter, and more for all you It is categorized under developer tools. This server exposes 7 tools that AI clients can invoke during conversations and coding sessions.
How to install
You can install Random Generation in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
Random Generation is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Tools (7)
Generate a random UUID v4
Generate a random number within a specified range
Generate a random number following a Gaussian (normal) distribution between 0 and 1
Generate a random string with specified length and character set
Generate a strong password with a mix of character types. WARNING: While this password is generated locally on your machine, it is recommended to use a dedicated password manager for generating and storing passwords securely.
MCP Rand
A Model Context Protocol (MCP) server providing various random generation utilities, including UUID, numbers, strings, passwords, Gaussian distribution, dice rolling, and card drawing.
Installation
npm install mcp-rand
Or install globally:
npm install -g mcp-rand
Features
UUID Generator
- Generates RFC 4122 version 4 UUIDs
- Uses Node's native crypto module for secure random generation
- No parameters required
Random Number Generator
- Generates random numbers within a specified range
- Configurable minimum and maximum values (inclusive)
- Defaults to range 0-100 if no parameters provided
Gaussian Random Generator
- Generates random numbers following a Gaussian (normal) distribution
- Normalized to range 0-1
- No parameters required
Random String Generator
- Generates random strings with configurable length and character sets
- Supports multiple character sets:
- alphanumeric (default): A-Z, a-z, 0-9
- numeric: 0-9
- lowercase: a-z
- uppercase: A-Z
- special: !@#$%^&*()_+-=[]{};'"\|,.<>/?
- Configurable string length (defaults to 10)
Password Generator
- Generates strong passwords with a mix of character types
- Ensures at least one character from each type (uppercase, lowercase, numbers, special)
- Configurable length (minimum 8, default 16)
- WARNING: While passwords are generated locally, it's recommended to use a dedicated password manager
Dice Roller
- Roll multiple dice using standard dice notation
- Supports notation like "2d6" (two six-sided dice), "1d20" (one twenty-sided die)
- Returns individual rolls and total for each set of dice
- Can roll multiple different dice sets at once (e.g., "2d6", "1d20", "4d4")
Card Drawer
- Draw cards from a standard 52-card deck
- Maintains deck state between draws using base64 encoding
- Returns drawn cards and remaining deck state
- Supports drawing any number of cards up to the deck size
- Properly shuffles available cards before each draw
Usage
As a CLI Tool
npx mcp-rand
Integration with MCP Clients
Add to your MCP client configuration:
{
"mcpServers": {
"mcp-rand": {
"command": "node",
"args": ["path/to/mcp-rand/build/index.js"],
"disabled": false,
"alwaysAllow": []
}
}
}
Example Usage
// 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=="
}
*/
Contributing
Please see CONTRIBUTING.md for development setup and guidelines.
License
ISC
Alternatives
Related Skills
Browse all skillsUI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.
Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".
Guide for building TypeScript CLIs with Bun. Use when creating command-line tools, adding subcommands to existing CLIs, or building developer tooling. Covers argument parsing, subcommand patterns, output formatting, and distribution.
Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
Create aesthetically beautiful interfaces following proven design principles. Use when building UI/UX, analyzing designs from inspiration sites, generating design images with ai-multimodal, implementing visual hierarchy and color theory, adding micro-interactions, or creating design documentation. Includes workflows for capturing and analyzing inspiration screenshots with chrome-devtools and ai-multimodal, iterative design image generation until aesthetic standards are met, and comprehensive design system guidance covering BEAUTIFUL (aesthetic principles), RIGHT (functionality/accessibility), SATISFYING (micro-interactions), and PEAK (storytelling) stages. Integrates with chrome-devtools, ai-multimodal, media-processing, ui-styling, and web-frameworks skills.
Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.