Plugged.in Random Number Generator

Plugged.in Random Number Generator

veriteknik

Generates cryptographically secure random numbers, strings, UUIDs, and other random data using Node.js crypto module. Provides 7 specialized tools for different types of secure random generation.

Provides cryptographically secure random number generation with seven specialized tools for integers, floats, bytes, UUIDs, strings, random choices, and booleans using Node.js's crypto module for security-sensitive applications like key generation, session tokens, and password creation.

1365 views1Local (stdio)

What it does

  • Generate cryptographically secure random integers within ranges
  • Create random UUIDs (v4) for unique identifiers
  • Generate random strings with customizable character sets
  • Produce random bytes with configurable encoding
  • Select random items from lists
  • Generate random floats and booleans

Best for

Security applications needing cryptographic randomnessGenerating session tokens and API keysCreating unique identifiers for applicationsPassword and salt generation
Cryptographically secure using Node.js crypto module7 specialized random generation toolsOne-click installation via Claude Desktop

About Plugged.in Random Number Generator

Plugged.in Random Number Generator is a community-built MCP server published by veriteknik that provides AI assistants with tools and capabilities via the Model Context Protocol. Plugged.in Random Number Generator offers secure, cryptographic random values for passwords, tokens, and key generation It is categorized under auth security, developer tools. This server exposes 7 tools that AI clients can invoke during conversations and coding sessions.

How to install

You can install Plugged.in Random Number Generator 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

Plugged.in Random Number Generator 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_random_integer

Generate cryptographically secure random integers within a specified range

generate_random_float

Generate cryptographically secure random floating-point numbers

generate_random_bytes

Generate cryptographically secure random bytes

generate_uuid

Generate a cryptographically secure UUID (v4)

generate_random_string

Generate a cryptographically secure random string

Plugged.in Random Number Generator MCP Server

A state-of-the-art cryptographically secure random number generator server implementing the Model Context Protocol (MCP). This server provides advanced random number generation capabilities for AI applications, LLMs, and other systems requiring high-quality randomness.

πŸš€ Features

  • Cryptographically Secure: Uses Node.js built-in crypto module for cryptographically secure pseudorandom number generation (CSPRNG)
  • Multiple Data Types: Generate integers, floats, bytes, UUIDs, strings, booleans, and random choices
  • Flexible Configuration: Customizable ranges, counts, encodings, and character sets
  • MCP Compliant: Full compatibility with Model Context Protocol specification including tools and prompts
  • AI-Friendly Prompts: Built-in prompt to help LLMs understand they should use this server for random generation
  • Type Safety: Written in TypeScript with comprehensive type definitions
  • Error Handling: Robust input validation and error reporting
  • Performance Optimized: Efficient algorithms suitable for high-throughput applications

πŸ“¦ Installation

Prerequisites

  • Node.js 18.0.0 or higher
  • npm or yarn package manager

Install via Desktop Extension (DXT)

For Claude Desktop users, you can install this server as a one-click Desktop Extension:

  1. Download the latest .dxt file from the releases page
  2. Open Claude Desktop
  3. Go to Settings β†’ Developer β†’ MCP Servers
  4. Click "Install from file" and select the downloaded .dxt file

Install from npm

npm install -g pluggedin-random-number-generator-mcp

Or install locally in your project:

npm install pluggedin-random-number-generator-mcp

Deploy with Smithery

Deploy this MCP server to the cloud using Smithery:

  1. Fork this repository
  2. Connect your GitHub account to Smithery
  3. Navigate to the Deployments tab
  4. Click "Deploy"

The server includes a smithery.yaml configuration file for easy deployment.

Build from Source

git clone https://github.com/VeriTeknik/pluggedin-random-number-generator-mcp.git
cd pluggedin-random-number-generator-mcp
npm install
npm run build

# Optional: Build DXT package
npm run build:dxt

πŸ› οΈ Usage

Running the Server

The server communicates via stdio (standard input/output) following the MCP protocol:

# Using the built version
node dist/index.js

# Using development mode
npm run dev

Integration with MCP Clients

For npm installation (recommended):

Add to your MCP client configuration. For Claude Desktop, add to your claude_desktop_config.json:

{
  "mcpServers": {
    "random-generator": {
      "command": "npx",
      "args": ["-y", "pluggedin-random-number-generator-mcp@latest"]
    }
  }
}

This will always use the latest version from npm without requiring a global installation.

For local installation:

{
  "mcpServers": {
    "random-generator": {
      "command": "node",
      "args": ["node_modules/pluggedin-random-number-generator-mcp/dist/index.js"]
    }
  }
}

πŸ”§ Available Tools

1. Generate Random Integers

Generate cryptographically secure random integers within a specified range.

Parameters:

  • min (integer, optional): Minimum value (inclusive), default: 0
  • max (integer, optional): Maximum value (inclusive), default: 100
  • count (integer, optional): Number of integers to generate, default: 1, max: 1000

Example:

{
  "name": "generate_random_integer",
  "arguments": {
    "min": 1,
    "max": 100,
    "count": 5
  }
}

2. Generate Random Floats

Generate cryptographically secure random floating-point numbers.

Parameters:

  • min (number, optional): Minimum value (inclusive), default: 0.0
  • max (number, optional): Maximum value (exclusive), default: 1.0
  • count (integer, optional): Number of floats to generate, default: 1, max: 1000
  • precision (integer, optional): Decimal places to round to, default: 6, max: 15

Example:

{
  "name": "generate_random_float", 
  "arguments": {
    "min": 0.0,
    "max": 1.0,
    "count": 3,
    "precision": 4
  }
}

3. Generate Random Bytes

Generate cryptographically secure random bytes in various encodings.

Parameters:

  • length (integer, optional): Number of bytes to generate, default: 32, max: 1024
  • encoding (string, optional): Output encoding ("hex", "base64", "binary"), default: "hex"

Example:

{
  "name": "generate_random_bytes",
  "arguments": {
    "length": 32,
    "encoding": "hex"
  }
}

4. Generate UUIDs

Generate cryptographically secure UUID version 4 identifiers.

Parameters:

  • count (integer, optional): Number of UUIDs to generate, default: 1, max: 100
  • format (string, optional): UUID format ("standard", "compact"), default: "standard"

Example:

{
  "name": "generate_uuid",
  "arguments": {
    "count": 3,
    "format": "standard"
  }
}

5. Generate Random Strings

Generate cryptographically secure random strings with customizable character sets.

Parameters:

  • length (integer, optional): String length, default: 16, max: 256
  • charset (string, optional): Character set ("alphanumeric", "alphabetic", "numeric", "hex", "base64", "ascii_printable"), default: "alphanumeric"
  • count (integer, optional): Number of strings to generate, default: 1, max: 100

Example:

{
  "name": "generate_random_string",
  "arguments": {
    "length": 12,
    "charset": "alphanumeric",
    "count": 2
  }
}

6. Generate Random Choices

Randomly select items from a provided list using cryptographically secure randomness.

Parameters:

  • choices (array, required): Array of string items to choose from
  • count (integer, optional): Number of items to select, default: 1
  • allow_duplicates (boolean, optional): Whether to allow duplicate selections, default: true

Example:

{
  "name": "generate_random_choice",
  "arguments": {
    "choices": ["apple", "banana", "cherry", "date"],
    "count": 2,
    "allow_duplicates": false
  }
}

7. Generate Random Booleans

Generate cryptographically secure random boolean values with configurable probability.

Parameters:

  • count (integer, optional): Number of booleans to generate, default: 1, max: 1000
  • probability (number, optional): Probability of true (0.0 to 1.0), default: 0.5

Example:

{
  "name": "generate_random_boolean",
  "arguments": {
    "count": 10,
    "probability": 0.7
  }
}

πŸ€– AI Prompts

The server includes a built-in prompt to help LLMs understand they should use this server for random number generation rather than attempting to generate random values themselves.

Available Prompt: generate_random

This prompt educates the AI about its limitations in generating random numbers and guides it to use the available cryptographically secure tools.

Parameters:

  • type (string, optional): Type of random value needed (integer, float, uuid, string, bytes, choice, boolean)
  • requirements (string, optional): Specific requirements for the random generation

Example Usage: When an LLM receives a request like "Generate a random password" or "Pick a random number", the prompt will:

  1. Acknowledge that LLMs cannot generate truly random values
  2. Explain the available cryptographically secure tools
  3. Guide the AI to use the appropriate tool for the task

This ensures that all random generation in your application uses proper cryptographic methods rather than predictable AI-generated patterns.

πŸ”’ Security Features

This server implements several security best practices:

  • Cryptographically Secure Randomness: All random number generation uses Node.js crypto module functions (randomBytes, randomInt, randomUUID) which provide cryptographically secure pseudorandom numbers suitable for security-sensitive applications.

  • Input Validation: Comprehensive validation of all input parameters to prevent injection attacks and ensure data integrity.

  • Rate Limiting: Built-in limits on generation counts to prevent resource exhaustion attacks.

  • Error Handling: Secure error messages that don't leak sensitive information about the system state.

πŸ§ͺ Testing

The server includes a comprehensive test suite that validates all functionality:

# Run the test suite
node test.js

The test suite covers:

  • Tool discovery and listing
  • All random generation functions
  • Input validation and error handling
  • Output format verification
  • Statistical properties validation

πŸ“Š Performance

The server is optimized for performance while maintaining security:

  • Efficient Algorithms: Uses optimized native crypto functions
  • Memory Management: Minimal memory footprint with efficient buffer handling
  • Concurrent Requests: Thread-safe design supporting multiple simultaneous requests
  • Scalability: Suitable for high-throughput applications

πŸ”§ Development

Project Structure

pluggedin-random-number-generator-mcp/
β”œβ”€β”€ src/
β”‚   └── index.ts          # Main server implementation
β”œβ”€β”€ dist/                 # Compiled JavaScript output
β”œβ”€β”€ test.js              # Comprehensive test suite
β”œβ”€β”€ package.json         # Project configuration
β”œβ”€β”€ tsconfig.json        # TypeScript configuration
└── README.md           # This documentation

Building

npm run build

Development Mode

npm run dev

Testing with MCP Inspector

You can test the server using the MCP Inspector tool:

npm run inspector

This will start the MCP Inspector web interface where you can:

  • View available tools
  • Test tool execution
  • Inspect request/response payloads
  • Debug server behavior

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Fo


README truncated. View full README on GitHub.

Alternatives

Related Skills

Browse all skills
supabase-rls-policy-generator

This skill should be used when the user requests to generate, create, or add Row-Level Security (RLS) policies for Supabase databases in multi-tenant or role-based applications. It generates comprehensive RLS policies using auth.uid(), auth.jwt() claims, and role-based access patterns. Trigger terms include RLS, row level security, supabase security, generate policies, auth policies, multi-tenant security, role-based access, database security policies, supabase permissions, tenant isolation.

10
openai-knowledge

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`.

4
agent-skills-tools

Security audit and validation tools for the Agent Skills ecosystem. Scan skill packages for common vulnerabilities like credential leaks, unauthorized file access, and Git history secrets. Use when you need to audit skills for security before installation, validate skill packages against Agent Skills standards, or ensure your skills follow best practices.

1
testing-handbook-generator

Meta-skill that analyzes the Trail of Bits Testing Handbook (appsec.guide) and generates Claude Code skills for security testing tools and techniques. Use when creating new skills based on handbook content.

1
azure-identity-rust

Azure Identity SDK for Rust authentication. Use for DeveloperToolsCredential, ManagedIdentityCredential, ClientSecretCredential, and token-based authentication. Triggers: "azure-identity", "DeveloperToolsCredential", "authentication rust", "managed identity rust", "credential rust".

1
ccxt-typescript

CCXT cryptocurrency exchange library for TypeScript and JavaScript developers (Node.js and browser). Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors. Use when working with crypto exchanges in TypeScript/JavaScript projects, trading bots, arbitrage systems, or portfolio management tools. Includes both REST and WebSocket examples.

1