Leverages Python's standard library (random and secrets modules) to provide both standard pseudorandom functions and cryptographically secure random generation capabilities.
Random Number MCP
Production-ready MCP server that provides LLMs with essential random generation abilities --- built entirely on Python's standard library.
🎲 Tools
Tool | Purpose | Python function |
---|---|---|
random_int | Generate random integers | random.randint() |
random_float | Generate random floats | random.uniform() |
random_choices | Choose items from a list (optional weights) | random.choices() |
random_shuffle | Return a new list with items shuffled | random.sample() |
secure_token_hex | Generate cryptographically secure hex tokens | secrets.token_hex() |
secure_random_int | Generate cryptographically secure integers | secrets.randbelow() |
🔧 Setup
Claude Desktop
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
📋 Tool Reference
random_int
Generate a random integer between low and high (inclusive).
Parameters:
low
(int): Lower bound (inclusive)high
(int): Upper bound (inclusive)
Example:
random_float
Generate a random float between low and high.
Parameters:
low
(float, optional): Lower bound (default: 0.0)high
(float, optional): Upper bound (default: 1.0)
Example:
random_choices
Choose k items from a population with replacement, optionally weighted.
Parameters:
population
(list): List of items to choose fromk
(int, optional): Number of items to choose (default: 1)weights
(list, optional): Weights for each item (default: equal weights)
Example:
random_shuffle
Return a new list with items in random order.
Parameters:
items
(list): List of items to shuffle
Example:
secure_token_hex
Generate a cryptographically secure random hex token.
Parameters:
nbytes
(int, optional): Number of random bytes (default: 32)
Example:
secure_random_int
Generate a cryptographically secure random integer below upper_bound.
Parameters:
upper_bound
(int): Upper bound (exclusive)
Example:
🔒 Security Considerations
This package provides both standard pseudorandom functions (suitable for simulations, games, etc.) and cryptographically secure functions (suitable for tokens, keys, etc.):
- Standard functions (
random_int
,random_float
,random_choices
,random_shuffle
): Use Python'srandom
module - fast but not cryptographically secure - Secure functions (
secure_token_hex
,secure_random_int
): Use Python'ssecrets
module - slower but cryptographically secure
🛠️ Development
Prerequisites
- Python 3.10+
- uv package manager
Setup
Building
Notes
- The server communicates via STDIO using JSON-RPC 2.0 protocol.
Testing with MCP Inspector
For exploring and/or developing this server, use the MCP Inspector npm utility:
📝 License
MIT License - see LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📚 Links
Production-ready MCP server that provides LLMs with essential random generation abilities, including random integers, floats, choices, shuffling, and cryptographically secure tokens.
Related MCP Servers
- PythonMIT License
- AsecurityAlicenseAqualityAn MCP server that provides LLMs access to other LLMsLast updated -41412JavaScriptMIT License
- -securityFlicense-qualityAn MCP server that implements a structured workflow for LLM-based coding, guiding development through feature clarification, documentation generation, phased implementation, and progress tracking.Last updated -8TypeScript
- AsecurityAlicenseAqualityAn MCP server that enables LLMs to interact with Moodle platforms to manage courses, students, assignments, and quizzes through natural language commands.Last updated -77JavaScriptMIT License