Pluggedin Random Number Generator Mcp

Pluggedin Random Number Generator Mcp

🚀 Plugged.in随机数生成器MCP服务器

这是一个采用模型上下文协议(MCP)的先进加密安全随机数生成器服务器。该服务器为人工智能应用、大语言模型(LLMs)以及其他需要高质量随机数的系统提供高级随机数生成功能。

🚀 快速开始

本服务器是一个采用模型上下文协议(MCP)的先进加密安全随机数生成器服务器,可用于人工智能应用、大语言模型(LLMs)以及其他需要高质量随机数的系统。以下将为你介绍它的主要特性、安装方式、使用方法等内容。

✨ 主要特性

  • 加密安全:使用Node.js内置的crypto模块进行加密安全的伪随机数生成(CSPRNG)。
  • 多种数据类型:可生成整数、浮点数、字节、通用唯一识别码(UUID)、字符串、布尔值以及随机选择结果。
  • 灵活配置:可定制范围、数量、编码和字符集。
  • MCP兼容:完全符合模型上下文协议规范,包括相关工具和提示。
  • AI友好提示:内置提示,帮助大语言模型理解应使用本服务器进行随机数生成。
  • 类型安全:使用TypeScript编写,具有全面的类型定义。
  • 错误处理:具备强大的输入验证和错误报告功能。
  • 性能优化:采用高效算法,适用于高吞吐量应用。

📦 安装指南

前提条件

  • Node.js 18.0.0或更高版本
  • npm或yarn包管理器

通过桌面扩展(DXT)安装

对于Claude桌面版用户,可将此服务器作为一键式桌面扩展进行安装:

  1. 发布页面下载最新的.dxt文件。
  2. 打开Claude桌面版。
  3. 转到“设置”→“开发者”→“MCP服务器”。
  4. 点击“从文件安装”,选择下载的.dxt文件。

从npm安装

npm install -g pluggedin-random-number-generator-mcp

或者在你的项目中进行本地安装:

npm install pluggedin-random-number-generator-mcp

使用Smithery部署

使用Smithery将此MCP服务器部署到云端:

  1. 分叉此仓库。
  2. 将你的GitHub账户连接到Smithery。
  3. 导航到“部署”选项卡。
  4. 点击“部署”。 服务器包含一个smithery.yaml配置文件,便于部署。

从源代码构建

git clone https://github.com/VeriTeknik/pluggedin-random-number-generator-mcp.git
cd pluggedin-random-number-generator-mcp
npm install
npm run build

# 可选:构建DXT包
npm run build:dxt

💻 使用示例

运行服务器

服务器通过标准输入/输出(stdio)按照MCP协议进行通信:

# 使用构建版本
node dist/index.js

# 使用开发模式
npm run dev

与MCP客户端集成

对于npm安装(推荐):

将其添加到你的MCP客户端配置中。对于Claude桌面版,将其添加到claude_desktop_config.json文件中:

{
"mcpServers": {
"random-generator": {
"command": "npx",
"args": ["-y", "pluggedin-random-number-generator-mcp@latest"]
}
}
}

这将始终使用npm上的最新版本,无需进行全局安装。

对于本地安装:

{
"mcpServers": {
"random-generator": {
"command": "node",
"args": ["node_modules/pluggedin-random-number-generator-mcp/dist/index.js"]
}
}
}

可用工具示例

1. 生成随机整数

生成指定范围内的加密安全随机整数。 参数

  • min(整数,可选):最小值(包含),默认值:0
  • max(整数,可选):最大值(包含),默认值:100
  • count(整数,可选):要生成的整数数量,默认值:1,最大值:1000

示例

{
"name": "generate_random_integer",
"arguments": {
"min": 1,
"max": 100,
"count": 5
}
}

2. 生成随机浮点数

生成加密安全的随机浮点数。 参数

  • min(数字,可选):最小值(包含),默认值:0.0
  • max(数字,可选):最大值(不包含),默认值:1.0
  • count(整数,可选):要生成的浮点数数量,默认值:1,最大值:1000
  • precision(整数,可选):要保留的小数位数,默认值:6,最大值:15

示例

{
"name": "generate_random_float",
"arguments": {
"min": 0.0,
"max": 1.0,
"count": 3,
"precision": 4
}
}

3. 生成随机字节

生成各种编码格式的加密安全随机字节。 参数

  • length(整数,可选):要生成的字节数,默认值:32,最大值:1024
  • encoding(字符串,可选):输出编码("hex"、"base64"、"binary"),默认值:"hex"

示例

{
"name": "generate_random_bytes",
"arguments": {
"length": 32,
"encoding": "hex"
}
}

4. 生成通用唯一识别码(UUID)

生成加密安全的版本4通用唯一识别码。 参数

  • count(整数,可选):要生成的UUID数量,默认值:1,最大值:100
  • format(字符串,可选):UUID格式("standard"、"compact"),默认值:"standard"

示例

{
"name": "generate_uuid",
"arguments": {
"count": 3,
"format": "standard"
}
}

5. 生成随机字符串

生成具有可定制字符集的加密安全随机字符串。 参数

  • length(整数,可选):字符串长度,默认值:16,最大值:256
  • charset(字符串,可选):字符集("alphanumeric"、"alphabetic"、"numeric"、"hex"、"base64"、"ascii_printable"),默认值:"alphanumeric"
  • count(整数,可选):要生成的字符串数量,默认值:1,最大值:100

示例

{
"name": "generate_random_string",
"arguments": {
"length": 12,
"charset": "alphanumeric",
"count": 2
}
}

6. 生成随机选择结果

使用加密安全的随机性从提供的列表中随机选择项目。 参数

  • choices(数组,必需):可供选择的字符串项目数组
  • count(整数,可选):要选择的项目数量,默认值:1
  • allow_duplicates(布尔值,可选):是否允许重复选择,默认值:true

示例

{
"name": "generate_random_choice",
"arguments": {
"choices": ["apple", "banana", "cherry", "date"],
"count": 2,
"allow_duplicates": false
}
}

7. 生成随机布尔值

生成具有可配置概率的加密安全随机布尔值。 参数

  • count(整数,可选):要生成的布尔值数量,默认值:1,最大值:1000
  • probability(数字,可选):为真的概率(0.0到1.0),默认值:0.5

示例

{
"name": "generate_random_boolean",
"arguments": {
"count": 10,
"probability": 0.7
}
}

🤖 AI提示

服务器包含一个内置提示,帮助大语言模型理解应使用本服务器进行随机数生成,而不是尝试自行生成随机值。

可用提示:generate_random

此提示会告知AI在生成随机数方面的局限性,并指导其使用可用的加密安全工具。 参数

  • type(字符串,可选):所需随机值的类型(整数、浮点数、UUID、字符串、字节、选择、布尔值)
  • requirements(字符串,可选):随机生成的特定要求

示例用法: 当大语言模型收到诸如“生成一个随机密码”或“选择一个随机数”的请求时,该提示将:

  1. 告知大语言模型无法生成真正的随机值。
  2. 解释可用的加密安全工具。
  3. 指导AI使用适合该任务的工具。 这确保了应用程序中的所有随机数生成都使用适当的加密方法,而不是可预测的AI生成模式。

🔧 技术细节

安全特性

本服务器实施了多项安全最佳实践:

  • 加密安全随机性:所有随机数生成均使用Node.js的crypto模块函数(randomBytesrandomIntrandomUUID),这些函数提供适用于安全敏感应用的加密安全伪随机数。
  • 输入验证:对所有输入参数进行全面验证,以防止注入攻击并确保数据完整性。
  • 速率限制:内置生成数量限制,以防止资源耗尽攻击。
  • 错误处理:安全的错误消息,不会泄露有关系统状态的敏感信息。

测试

服务器包含一个全面的测试套件,用于验证所有功能:

# 运行测试套件
node test.js

测试套件涵盖:

  • 工具发现和列表
  • 所有随机生成函数
  • 输入验证和错误处理
  • 输出格式验证
  • 统计属性验证

性能

服务器在保持安全性的同时进行了性能优化:

  • 高效算法:使用优化的原生加密函数。
  • 内存管理:通过高效的缓冲区处理,实现最小的内存占用。
  • 并发请求:线程安全设计,支持多个同时请求。
  • 可扩展性:适用于高吞吐量应用。

开发

项目结构

pluggedin-random-number-generator-mcp/
├── src/
│   └── index.ts          # 主服务器实现
├── dist/                 # 编译后的JavaScript输出
├── test.js              # 全面的测试套件
├── package.json         # 项目配置
├── tsconfig.json        # TypeScript配置
└── README.md           # 本文档

构建

npm run build

开发模式

npm run dev

使用MCP检查器进行测试

你可以使用MCP检查器工具测试服务器:

npm run inspector

这将启动MCP检查器Web界面,你可以在其中:

  • 查看可用工具
  • 测试工具执行
  • 检查请求/响应负载
  • 调试服务器行为

🤝 贡献

欢迎贡献代码!请随时提交拉取请求。对于重大更改,请先打开一个问题讨论你想要更改的内容。

开发指南

  1. 遵循TypeScript最佳实践。
  2. 保持全面的测试覆盖率。
  3. 为新功能更新文档。
  4. 在提交前确保所有测试通过。
  5. 遵循语义化版本控制进行版本发布。

📄 许可证

本项目采用MIT许可证 - 详情请参阅LICENSE文件。

🔗 相关项目

📞 支持

如需支持、提问或提出功能请求:

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-30 09:30

相似服务问题