MCP Rand

MCP Rand

site icon
2025.01.16 2
TypeScript随机生成工具其它
MCP Rand 是一个基于 Model Context Protocol (MCP) 的服务,提供多种随机生成工具,包括 UUID、数字、字符串、密码、高斯分布、掷骰子和抽牌等功能。
View on GitHub

Overview

基本能力

产品定位

MCP Rand 是一个提供多种随机生成工具的服务,适用于需要随机数据的各种场景。

核心功能

  1. UUID 生成器:生成符合 RFC 4122 版本 4 的 UUID。
  2. 随机数生成器:生成指定范围内的随机数。
  3. 高斯随机生成器:生成符合高斯分布的随机数。
  4. 随机字符串生成器:生成可配置长度和字符集的随机字符串。
  5. 密码生成器:生成包含多种字符类型的强密码。
  6. 掷骰子:支持标准骰子表示法,如 "2d6"。
  7. 抽牌:从标准 52 张牌组中抽牌,并维护牌组状态。

适用场景

  1. 需要生成唯一标识符(UUID)的应用。
  2. 需要随机数的游戏或模拟场景。
  3. 需要生成随机字符串或密码的安全应用。
  4. 需要模拟骰子或卡牌的游戏应用。

工具列表

  1. generate_uuid:生成 UUID。
  2. generate_random_number:生成指定范围内的随机数。
  3. generate_gaussian:生成高斯分布的随机数。
  4. generate_string:生成随机字符串。
  5. generate_password:生成强密码。
  6. roll_dice:掷骰子。
  7. draw_cards:抽牌。

常见问题解答

  1. 密码安全性:虽然密码是本地生成的,但建议使用专用的密码管理器。
  2. 牌组状态:抽牌功能会维护牌组状态,确保每次抽牌都是独立的。

使用教程

使用依赖

安装 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);

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。