真随机数MCP

w1036841009/TRUERandomMCP
Hosted
1 Stars 113 次浏览 更新于 2026-08-23

一个模型上下文协议(MCP)服务器,提供对api.random.org服务的访问,用于生成真正的随机数、字符串、UUID等。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "random-org": {
      "args": [
        "node_modules/random-org-mcp-server/dist/index.js"
      ],
      "command": "node",
      "env": {
        "RANDOM_ORG_API_KEY": "your_api_key_here"
      }
    }
  }
}

该服务需要配置环境变量:RANDOM_ORG_API_KEY

可用工具 (8 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

generateIntegers 5 个参数 需填 3 项

Generate true random integers within a specified range

必填参数:n、min、max

generateIntegerSequences 6 个参数 需填 4 项

Generate sequences of true random integers

必填参数:n、length、min、max

generateDecimalFractions 3 个参数 需填 2 项

Generate true random decimal fractions between 0 and 1

必填参数:n、decimalPlaces

generateGaussians 4 个参数 需填 4 项

Generate true random numbers from a Gaussian distribution

必填参数:n、mean、standardDeviation、significantDigits

generateStrings 4 个参数 需填 3 项

Generate true random strings

必填参数:n、length、characters

generateUUIDs 1 个参数 需填 1 项

Generate true random UUIDs (version 4)

必填参数:n

generateBlobs 3 个参数 需填 2 项

Generate true random binary data

必填参数:n、size

getUsage

Get API usage statistics

该工具无需必填参数,直接调用即可

服务介绍

Random.org MCP 服务器

一个提供访问 api.random.org 服务的模型上下文协议(MCP)服务器,用于生成真正的随机数、字符串、UUID 等。

功能

此 MCP 服务器提供了以下工具:

  • generateIntegers - 在指定范围内生成真正的随机整数
  • generateIntegerSequences - 生成一系列真正的随机整数
  • generateDecimalFractions - 生成介于 0 和 1 之间的随机小数
  • generateGaussians - 从高斯分布中生成随机数
  • generateStrings - 从指定字符中生成随机字符串
  • generateUUIDs - 生成真正的随机 UUID(版本 4)
  • generateBlobs - 以 base64 或 hex 格式生成随机二进制数据
  • getUsage - 获取 API 使用统计信息

安装与部署

🚀 使用 npm 快速开始(推荐)

方法 1:全局安装

# Install globally
npm install -g random-org-mcp-server

# Verify installation
random-org-mcp --version

方法 2:无需安装直接使用

# Run directly with npx (no installation required)
npx random-org-mcp-server

方法 3:本地项目安装

# Install in your project
npm install random-org-mcp-server

# Run from node_modules
npx random-org-mcp-server

🛠️ 从源代码构建

  1. 克隆此仓库:
git clone https://github.com/QianJue-CN/TRUERandomMCP.git
cd TRUERandomMCP
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

配置

🔑 获取 API 密钥

  1. 访问 api.random.org 获取免费 API 密钥
  2. 注册并获取您的 API 密钥

⚙️ 配置方法

方法 1:环境变量(推荐)

在工作目录中创建一个 .env 文件:

# Copy example file (if building from source)
cp .env.example .env

编辑 .env 文件:

RANDOM_ORG_API_KEY=your_api_key_here
RATE_LIMIT_REQUESTS_PER_SECOND=1
RATE_LIMIT_BURST_SIZE=5
REQUEST_TIMEOUT_MS=10000
MAX_RETRIES=3
RETRY_DELAY_MS=1000

方法 2:MCP 客户端配置

直接在您的 MCP 客户端(例如 Claude Desktop)中进行配置:

{
  "mcpServers": {
    "random-org": {
      "command": "npx",
      "args": ["random-org-mcp-server"],
      "env": {
        "RANDOM_ORG_API_KEY": "your_api_key_here"
      }
    }
  }
}

环境变量

  • RANDOM_ORG_API_KEY(必需)- 您的 api.random.org API 密钥
  • RATE_LIMIT_REQUESTS_PER_SECOND(可选,默认值:1)- 请求速率限制
  • RATE_LIMIT_BURST_SIZE(可选,默认值:5)- 速率限制的突发大小
  • REQUEST_TIMEOUT_MS(可选,默认值:10000)- 请求超时时间(毫秒)
  • MAX_RETRIES(可选,默认值:3)- 最大重试次数
  • RETRY_DELAY_MS(可选,默认值:1000)- 重试间隔时间(毫秒)

使用

🔗 MCP 客户端集成

Claude Desktop 配置

  1. 找到您的 Claude Desktop 配置文件:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 添加 Random.org MCP 服务器配置:

{
  "mcpServers": {
    "random-org": {
      "command": "npx",
      "args": ["random-org-mcp-server"],
      "env": {
        "RANDOM_ORG_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. 重启 Claude Desktop

替代配置

使用全局安装

{
  "mcpServers": {
    "random-org": {
      "command": "random-org-mcp",
      "env": {
        "RANDOM_ORG_API_KEY": "your_api_key_here"
      }
    }
  }
}

使用本地安装

{
  "mcpServers": {
    "random-org": {
      "command": "node",
      "args": ["node_modules/random-org-mcp-server/dist/index.js"],
      "env": {
        "RANDOM_ORG_API_KEY": "your_api_key_here"
      }
    }
  }
}

运行服务器

🚀 生产环境使用

如果已全局安装:

random-org-mcp

使用 npx(无需安装):

npx random-org-mcp-server

从源代码运行:

npm start

🛠️ 开发

开发模式下自动重新加载:

npm run dev

工具示例

生成随机整数

{
  "name": "generateIntegers",
  "arguments": {
    "n": 5,
    "min": 1,
    "max": 100,
    "replacement": true,
    "base": 10
  }
}

生成随机字符串

{
  "name": "generateStrings",
  "arguments": {
    "n": 3,
    "length": 8,
    "characters": "abcdefghijklmnopqrstuvwxyz0123456789",
    "replacement": true
  }
}

生成 UUID

{
  "name": "generateUUIDs",
  "arguments": {
    "n": 5
  }
}

生成高斯分布数

{
  "name": "generateGaussians",
  "arguments": {
    "n": 10,
    "mean": 0,
    "standardDeviation": 1,
    "significantDigits": 6
  }
}

获取使用统计信息

{
  "name": "getUsage",
  "arguments": {}
}

API 限制

api.random.org 服务有以下限制:

  • 整数:每次请求 1-10,000 个数字
  • 整数序列:每次请求 1-10,000 个序列,每个序列 1-10,000 个数字
  • 小数:每次请求 1-10,000 个数字
  • 高斯分布数:每次请求 1-10,000 个数字
  • 字符串:每次请求 1-10,000 个字符串,每个字符串长度为 1-20 个字符
  • UUID:每次请求 1-1,000 个 UUID
  • Blob:每次请求 1-100 个 Blob,每个 Blob 大小为 1-1,048,576 字节

错误处理

服务器包括全面的错误处理功能:

  • 对所有参数进行输入验证
  • 通过速率限制尊重 API 限制
  • 带有指数退避的自动重试
  • 详细的错误消息以便故障排除

开发

脚本- npm run build - 构建 TypeScript 代码

  • npm start - 运行编译后的服务器
  • npm run dev - 以开发模式运行,并带有自动重载
  • npm run clean - 清理构建目录

项目结构


src/

├── index.ts           # Main entry point

├── server.ts          # MCP server implementation

├── randomOrgClient.ts # API client for random.org

├── rateLimiter.ts     # Rate limiting implementation

├── config.ts          # Configuration management

└── types.ts           # TypeScript type definitions

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

贡献

  1. 叉取仓库
  2. 创建一个功能分支
  3. 进行你的修改
  4. 如果适用,请添加测试
  5. 提交一个拉取请求

支持

对于与此 MCP 服务器相关的问题,请在 GitHub 上打开一个问题。
对于 api.random.org API 的问题,请参考他们的 文档

相关 MCP 服务