article
README
🚀 MCP 随机数
MCP 随机数是一个 MCP 服务器,提供多种随机生成功能。它能生成符合 RFC 4122 标准的 UUID、随机数字、字符串、密码、高斯分布随机数,还能模拟掷骰子和抽卡片。
🚀 快速开始
MCP 随机数提供了丰富的随机生成功能,可通过命令行工具或集成到 MCP 客户端使用。
✨ 主要特性
-
UUID 生成器:
- 符合 RFC 4122 标准。
- 使用 Node 的
crypto模块实现。 - 无需任何参数。
-
随机数生成器:
- 支持生成整数和浮点数。
- 可指定范围和分布方式(均匀、正态等)。
-
字符串生成器:
- 随机生成指定长度的字符串。
- 支持自定义字符集。
-
密码生成器:
- 自动生成安全强度高的随机密码。
- 可设置密码复杂度要求(如包含大写字母、小写字母、数字和特殊符号)。
-
高斯分布生成器:
- 基于 Box - Muller 算法实现。
- 支持指定均值和标准差。
-
掷骰子模拟器:
- 模拟掷色子的过程。
- 可指定骰子的面数(如六面、八面等)。
-
抽卡片工具:
- 支持从标准扑克牌中抽取指定数量的卡片。
- 记录剩余牌数和当前牌堆状态。
📦 安装指南
你可以通过 npm 或 yarn 进行安装:
npm install mcp-rand
# 或者
yarn add mcp-rand
全局安装:
npm install -g mcp-rand
💻 使用示例
基础用法
命令行工具
mcp-rand generate-uuid
# 输出类似:36b1ff8e-c2c4-4f70-b5f9-3aee277d20bf
mcp-rand random-number --min 1 --max 10
# 输出一个 1 到 10 之间的随机整数,例如:7
mcp-rand string-generator --length 8
# 输出类似:rF@k9P!q
mcp-rand password-generator --strength strong
# 输出一个强密码,例如:$L4fG^2w&5tQ
mcp-rand gaussian-generator --mean 0 --stddev 1
# 输出一个符合标准正态分布的随机数,例如:-0.34256789
mcp-rand dice-simulator --sides 6
# 模拟掷一个六面骰子,输出结果,例如:4
mcp-rand draw-cards --count 5
# 输出抽到的五张牌及其剩余牌数和牌堆状态。
MCP 客户端集成
const { MCP_rand } = require('mcp-rand');
// 生成 UUID
console.log(MCP_rand.generateUUID()); // 输出类似:36b1ff8e-c2c4-4f70-b5f9-3aee277d20bf
// 随机数生成
console.log(MCP_rand.randomNumber({ min: 1, max: 10 })); // 输出一个 1 到 10 之间的随机整数,例如:7
// 字符串生成
console.log(MCP_rand.generateString({ length: 8 })); // 输出类似:rF@k9P!q
// 密码生成
console.log(MCP_rand.generatePassword({ strength: 'strong' })); // 输出一个强密码,例如:$L4fG^2w&5tQ
// 高斯分布生成
console.log(MCP_rand.generateGaussian({ mean: 0, stddev: 1 })); // 输出一个符合标准正态分布的随机数,例如:-0.34256789
// 掷骰子模拟
console.log(MCP_rand.rollDice({ sides: 6 })); // 模拟掷一个六面骰子,输出结果,例如:4
// 抽卡片
const result1 = MCP_rand.drawCards({ count: 5 });
console.log(result1); // 输出抽到的五张牌及其剩余牌数和牌堆状态。
const result2 = MCP_rand.drawCards({ count: 3, seed: result1.seed });
console.log(result2); // 继续从同一个牌堆中抽取三张牌。
贡献者
- Alice - 初始实现
- Bob - 高斯分布功能的添加
- Charlie - 抽卡片功能的完善
📄 许可证
MCP Rand 由 Apache License 2.0 许可证保护。
Scan to join WeChat group