Random Number Mcp

io.github.zazencodes由 GitHub 账号 zazencodes 发布v0.1.2更新于 Oct 24, 2026

Essential random number generation utilities from the Python standard library

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

本地 MCP 服务器,为助手提供随机数工具:整数、浮点数、加权抽取、洗牌、抽样和安全令牌。

可以做什么
在指定范围内生成伪随机整数和浮点数。从列表中按可选权重抽取元素、无放回抽取若干不重复元素,或返回打乱顺序的新列表。生成加密安全的十六进制令牌和小于上限的安全随机整数。普通工具使用 Python 的 random 模块,安全工具使用 secrets 模块。
适用场景
适合助手需要掷骰、模拟、测试数据、随机抽样或洗牌,以及在本地生成安全令牌和密钥材料而不是由模型自行编造的场景。
运行要求
作为本地 stdio 进程在用户机器上运行,通过 uvx 从 PyPI 包 random-number-mcp 启动。需要 Python 3.10+ 和 uv 包管理器。未声明认证、环境变量或请求头。
安装前请注意
只有安全工具(secure_token_hex、secure_random_int)具备加密安全性,普通工具不适合生成令牌或密钥。生成的令牌会返回给助手,可能出现在对话记录中,用于真实密钥时应视为已暴露。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Random Number Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Random Number MCP

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.

Looking for the agent skill version? random-number-skills implements the same random number generation strategy as an agent skill instead of an MCP server.

Demo Video

https://github.com/user-attachments/assets/303a441a-2b10-47e3-b2a5-c8b51840e362

[Random Number MCP server]

Tools

ToolPurposePython function
random_intGenerate random integersrandom.randint()
random_floatGenerate random floatsrandom.uniform()
random_choicesChoose items from a list (optional weights)random.choices()
random_shuffleReturn a new list with items shuffledrandom.sample()
random_sampleChoose k unique items from populationrandom.sample()
secure_token_hexGenerate cryptographically secure hex tokenssecrets.token_hex()
secure_random_intGenerate cryptographically secure integerssecrets.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

json
{  "mcpServers": {    "random-number": {      "command": "uvx",      "args": ["random-number-mcp"]    }  }}

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:

json
{  "name": "random_int",  "arguments": {    "low": 1,    "high": 100  }}

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:

json
{  "name": "random_float",  "arguments": {    "low": 0.5,    "high": 2.5  }}

random_choices

Choose k items from a population with replacement, optionally weighted.

Parameters:

  • population (list): List of items to choose from
  • k (int, optional): Number of items to choose (default: 1)
  • weights (list, optional): Weights for each item (default: equal weights)

Example:

json
{  "name": "random_choices",  "arguments": {    "population": ["red", "blue", "green", "yellow"],    "k": 2,    "weights": [0.4, 0.3, 0.2, 0.1]  }}

random_shuffle

Return a new list with items in random order.

Parameters:

  • items (list): List of items to shuffle

Example:

json
{  "name": "random_shuffle",  "arguments": {    "items": [1, 2, 3, 4, 5]  }}

random_sample

Choose k unique items from population without replacement.

Parameters:

  • population (list): List of items to choose from
  • k (int): Number of items to choose

Example:

json
{  "name": "random_sample",  "arguments": {    "population": ["a", "b", "c", "d", "e"],    "k": 2  }}

secure_token_hex

Generate a cryptographically secure random hex token.

Parameters:

  • nbytes (int, optional): Number of random bytes (default: 32)

Example:

json
{  "name": "secure_token_hex",  "arguments": {    "nbytes": 16  }}

secure_random_int

Generate a cryptographically secure random integer below upper_bound.

Parameters:

  • upper_bound (int): Upper bound (exclusive)

Example:

json
{  "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.):

  • Standard functions (random_int, random_float, random_choices, random_shuffle): Use Python's random module - fast but not cryptographically secure
  • Secure functions (secure_token_hex, secure_random_int): Use Python's secrets module - slower but cryptographically secure

Development

Prerequisites

  • Python 3.10+
  • uv package manager

Setup

bash
# Clone the repositorygit clone https://github.com/example/random-number-mcpcd random-number-mcp
# Install dependenciesuv sync --dev
# Run testsuv run pytest
# Run lintinguv run ruff check --fixuv run ruff format
# Type checkinguv run mypy src/

MCP Client Config

json
{  "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.

Building

bash
# Build packageuv build
# Test installationuv run --with dist/*.whl random-number-mcp

Release Checklist

  1. Update Version:

    • Increment the version number in pyproject.toml, src/random_number_mcp/__init__.py, and server.json.
  2. Update Changelog:

    • Add a new entry in CHANGELOG.md for the release.

      • Draft notes with coding agent using 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.

  3. Create GitHub Release:

    • Draft a new release on the GitHub UI.
      • Tag release using UI.
    • The GitHub workflow will automatically build and publish the package to PyPI.

Testing with MCP Inspector

For exploring and/or developing this server, use the MCP Inspector npm utility:

bash
# Install MCP Inspectornpm install -g @modelcontextprotocol/inspector
# Run local development server with the inspectornpx @modelcontextprotocol/inspector uv run random-number-mcp
# Run PyPI production server with the inspectornpx @modelcontextprotocol/inspector uvx random-number-mcp

MCP Registry

mcp-name: io.github.zazencodes/random-number-mcp

License

MIT License - see LICENSE file for details.

来源:README.md,提交 575338c

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分