真随机数MCP
一个模型上下文协议(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
🛠️ 从源代码构建
- 克隆此仓库:
git clone https://github.com/QianJue-CN/TRUERandomMCP.git
cd TRUERandomMCP
- 安装依赖项:
npm install
- 构建项目:
npm run build
配置
🔑 获取 API 密钥
- 访问 api.random.org 获取免费 API 密钥
- 注册并获取您的 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 配置
-
找到您的 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
- Windows:
-
添加 Random.org MCP 服务器配置:
{
"mcpServers": {
"random-org": {
"command": "npx",
"args": ["random-org-mcp-server"],
"env": {
"RANDOM_ORG_API_KEY": "your_api_key_here"
}
}
}
}
- 重启 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 文件。
贡献
- 叉取仓库
- 创建一个功能分支
- 进行你的修改
- 如果适用,请添加测试
- 提交一个拉取请求
支持
对于与此 MCP 服务器相关的问题,请在 GitHub 上打开一个问题。
对于 api.random.org API 的问题,请参考他们的 文档。