
MCP Rand

2025.01.16
2
TypeScript随机生成工具其它
MCP Rand 是一个基于 Model Context Protocol (MCP) 的服务,提供多种随机生成工具,包括 UUID、数字、字符串、密码、高斯分布、掷骰子和抽牌等功能。
View on GitHub
Overview
基本能力
产品定位
MCP Rand 是一个提供多种随机生成工具的服务,适用于需要随机数据的各种场景。
核心功能
- UUID 生成器:生成符合 RFC 4122 版本 4 的 UUID。
- 随机数生成器:生成指定范围内的随机数。
- 高斯随机生成器:生成符合高斯分布的随机数。
- 随机字符串生成器:生成可配置长度和字符集的随机字符串。
- 密码生成器:生成包含多种字符类型的强密码。
- 掷骰子:支持标准骰子表示法,如 "2d6"。
- 抽牌:从标准 52 张牌组中抽牌,并维护牌组状态。
适用场景
- 需要生成唯一标识符(UUID)的应用。
- 需要随机数的游戏或模拟场景。
- 需要生成随机字符串或密码的安全应用。
- 需要模拟骰子或卡牌的游戏应用。
工具列表
- generate_uuid:生成 UUID。
- generate_random_number:生成指定范围内的随机数。
- generate_gaussian:生成高斯分布的随机数。
- generate_string:生成随机字符串。
- generate_password:生成强密码。
- roll_dice:掷骰子。
- draw_cards:抽牌。
常见问题解答
- 密码安全性:虽然密码是本地生成的,但建议使用专用的密码管理器。
- 牌组状态:抽牌功能会维护牌组状态,确保每次抽牌都是独立的。
使用教程
使用依赖
安装 Node.js 和 npm。
安装教程
npm install mcp-rand
或全局安装:
npm install -g mcp-rand
调试方式
npx mcp-rand
集成到 MCP 客户端
在 MCP 客户端配置中添加:
{
"mcpServers": {
"mcp-rand": {
"command": "node",
"args": ["path/to/mcp-rand/build/index.js"],
"disabled": false,
"alwaysAllow": []
}
}
}
示例用法
// 生成 UUID
const uuid = await client.callTool('generate_uuid', {});
console.log(uuid);
// 生成随机数
const number = await client.callTool('generate_random_number', {
min: 1,
max: 100
});
console.log(number);
// 生成高斯随机数
const gaussian = await client.callTool('generate_gaussian', {});
console.log(gaussian);
// 生成随机字符串
const string = await client.callTool('generate_string', {
length: 15,
charset: 'alphanumeric'
});
console.log(string);
// 生成密码
const password = await client.callTool('generate_password', {
length: 20
});
console.log(password);
// 掷骰子
const rolls = await client.callTool('roll_dice', {
dice: ['2d6', '1d20', '4d4']
});
console.log(rolls);
// 抽牌
const draw1 = await client.callTool('draw_cards', {
count: 5
});
console.log(draw1);
// 使用之前的牌组状态抽更多牌
const draw2 = await client.callTool('draw_cards', {
count: 3,
deckState: draw1.deckState
});
console.log(draw2);