Essential random number generation utilities from the Python standard library, including pseudorandom and cryptographically secure operations for integers, floats, weighted selections, list shuffling, and secure token generation.
random_number_mcp_zazencodes_20250626_github.mp4 Tool Purpose Python functionrandom_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()
random_sample
Choose k unique items from population random.sample()
secure_token_hex
Generate cryptographically secure hex tokens secrets.token_hex()
secure_random_int
Generate cryptographically secure integers secrets.randbelow()
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{ "mcpServers": { "random-number": { "command": "uvx", "args": ["random-number-mcp"] } } }
Generate a random integer between low and high (inclusive).
Parameters:
low
(int): Lower bound (inclusive)high
(int): Upper bound (inclusive)Example:
{ "name": "random_int", "arguments": { "low": 1, "high": 100 } }
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:
{ "name": "random_float", "arguments": { "low": 0.5, "high": 2.5 } }
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:
{ "name": "random_choices", "arguments": { "population": ["red", "blue", "green", "yellow"], "k": 2, "weights": [0.4, 0.3, 0.2, 0.1] } }
Return a new list with items in random order.
Parameters:
items
(list): List of items to shuffleExample:
{ "name": "random_shuffle", "arguments": { "items": [1, 2, 3, 4, 5] } }
Choose k unique items from population without replacement.
Parameters:
population
(list): List of items to choose fromk
(int): Number of items to chooseExample:
{ "name": "random_sample", "arguments": { "population": ["a", "b", "c", "d", "e"], "k": 2 } }
Generate a cryptographically secure random hex token.
Parameters:
nbytes
(int, optional): Number of random bytes (default: 32)Example:
{ "name": "secure_token_hex", "arguments": { "nbytes": 16 } }
Generate a cryptographically secure random integer below upper_bound.
Parameters:
upper_bound
(int): Upper bound (exclusive)Example:
{ "name": "secure_random_int", "arguments": { "upper_bound": 1000 } }🔒 Security Considerations
This package provides both standard pseudorandom functions (suitable for simulations, games, etc.) and cryptographically secure functions (suitable for tokens, keys, etc.):
random_int
, random_float
, random_choices
, random_shuffle
): Use Python's random
module - fast but not cryptographically securesecure_token_hex
, secure_random_int
): Use Python's secrets
module - slower but cryptographically secure# Clone the repository git clone https://github.com/example/random-number-mcp cd random-number-mcp # Install dependencies uv sync --dev # Run tests uv run pytest # Run linting uv run ruff check --fix uv run ruff format # Type checking uv run mypy src/
{ "mcpServers": { "random-number-dev": { "command": "uv", "args": [ "--directory", "<path_to_your_repo>/random-number-mcp", "run", "random-number-mcp" ] } } }
Note: Replace <path_to_your_repo>/random-number-mcp
with the absolute path to your cloned repository.
# Build package uv build # Test installation uv run --with dist/*.whl random-number-mcp
Update Version:
version
number in pyproject.toml
and src/__init__.py
.Update Changelog:
Add a new entry in CHANGELOG.md
for the release.
git diff
context.Update the @CHANGELOG.md for the latest release.
List all significant changes, bug fixes, and new features.
Here's the git diff:
[GIT_DIFF]
Commit along with any other pending changes.
Create GitHub Release:
For exploring and/or developing this server, use the MCP Inspector npm utility:
# Install MCP Inspector npm install -g @modelcontextprotocol/inspector # Run local development server with the inspector npx @modelcontextprotocol/inspector uv run random-number-mcp # Run PyPI production server with the inspector npx @modelcontextprotocol/inspector uvx random-number-mcp
MIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4