Plugged.in随机数生成器MCP服务器
实现模型上下文协议(MCP)的最先进的加密安全随机数生成器服务器。该服务器为AI应用程序、LLM和其他需要高质量随机性的系统提供高级随机数生成功能。
🚀 特性
- 加密安全:使用内置的Node.js
crypto密码安全伪随机数生成模块 - 多种数据类型:生成整数、浮点数、字节、UUID、字符串、布尔值和随机选择
- 灵活的配置:可自定义的范围、计数、编码和字符集
- 符合MCP标准:与模型上下文协议规范完全兼容,包括工具和提示
- AI友好提示:内置提示,帮助LLM了解他们应该使用此服务器进行随机生成
- 类型安全:用TypeScript编写,具有全面的类型定义
- 错误处理:强大的输入验证和错误报告
- 性能优化:适用于高通量应用的高效算法
📦 安装
先决条件
- Node.js 18.0.0或更高版本
- npm或yarn包管理器
通过桌面扩展程序(DXT)安装
对于Claude Desktop用户,您可以将此服务器安装为一键式桌面扩展:
- 下载最新
.dxt文件来自 发布页面 - 打开克劳德桌面
- 转到“设置”→ 开发者→ MCP服务器
- 点击“从文件安装”并选择下载的
.dxt文件
从npm安装
npm install -g pluggedin-random-number-generator-mcp或者在项目中本地安装:
npm install pluggedin-random-number-generator-mcp与Smithery一起部署
使用将此MCP服务器部署到云端 铁匠铺:
- 分叉此存储库
- 将您的GitHub帐户连接到Smithery
- 导航到“部署”选项卡
- 点击“部署”
服务器包括 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
# Optional: Build DXT package
npm run build:dxt🛠️ 用法
运行服务器
服务器按照MCP协议通过stdio(标准输入/输出)进行通信:
# Using the built version
node dist/index.js
# Using development mode
npm run dev与MCP客户端集成
对于npm安装(推荐):
添加到MCP客户端配置中。对于Claude Desktop,添加到您的 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(整数,可选):最小值(含),默认值:0max(整数,可选):最大值(含),默认值:100count(整数,可选):要生成的整数数量,默认值:1,最大值:1000
例子:
{
"name": "generate_random_integer",
"arguments": {
"min": 1,
"max": 100,
"count": 5
}
}2.生成随机浮点数
生成加密安全的随机浮点数。
参数:
min(数字,可选):最小值(包括),默认值:0.0max(数字,可选):最大值(不包括),默认值:1.0count(整数,可选):要生成的浮点数,默认值:1,最大值:1000precision(整数,可选):小数位数四舍五入,默认值:6,最大值:15
例子:
{
"name": "generate_random_float",
"arguments": {
"min": 0.0,
"max": 1.0,
"count": 3,
"precision": 4
}
}3.生成随机字节
以各种编码生成加密安全的随机字节。
参数:
length(整数,可选):要生成的字节数,默认值:32,最大值:1024encoding(字符串,可选):输出编码(“十六进制”、“base64”、“二进制”),默认值:“十六进制
例子:
{
"name": "generate_random_bytes",
"arguments": {
"length": 32,
"encoding": "hex"
}
}4.生成UUID
生成加密安全的UUID版本4标识符。
参数:
count(整数,可选):要生成的UUID数量,默认值:1,最大值:100format(字符串,可选):UUID格式(“标准”、“紧凑”),默认值:“标准”
例子:
{
"name": "generate_uuid",
"arguments": {
"count": 3,
"format": "standard"
}
}5.生成随机字符串
使用可定制的字符集生成加密安全的随机字符串。
参数:
length(整数,可选):字符串长度,默认值:16,最大值:256charset(字符串,可选):字符集(“字母数字”、“字母”、“数值”、“十六进制”、“base64”、“ascii_printable”),默认值:“字母数字“count(整数,可选):要生成的字符串数,默认值:1,最大值:100
例子:
{
"name": "generate_random_string",
"arguments": {
"length": 12,
"charset": "alphanumeric",
"count": 2
}
}6.生成随机选择
使用加密安全的随机性从提供的列表中随机选择项目。
参数:
choices(array,必填):可供选择的字符串项数组count(整数,可选):要选择的项目数,默认值:1allow_duplicates(布尔值,可选):是否允许重复选择,默认值:true
例子:
{
"name": "generate_random_choice",
"arguments": {
"choices": ["apple", "banana", "cherry", "date"],
"count": 2,
"allow_duplicates": false
}
}7.生成随机布尔值
生成具有可配置概率的加密安全随机布尔值。
参数:
count(整数,可选):要生成的布尔值数量,默认值:1,最大值:1000probability(数字,可选):为真的概率(0.0到1.0),默认值:0.5
例子:
{
"name": "generate_random_boolean",
"arguments": {
"count": 10,
"probability": 0.7
}
}🤖 AI提示
该服务器包含一个内置提示,帮助LLM了解他们应该使用此服务器生成随机数,而不是试图自己生成随机值。
可用提示: generate_random
这一提示让人工智能了解其在生成随机数方面的局限性,并指导其使用现有的加密安全工具。
参数:
type(string,可选):所需随机值的类型(整数、浮点数、uuid、字符串、字节、选择、布尔值)requirements(字符串,可选):随机生成的具体要求
示例用法: 当LLM收到“生成随机密码”或“选择随机数”等请求时,提示将:
- 承认LLM不能生成真正的随机值
- 解释可用的加密安全工具
- 指导AI使用适当的工具完成任务
这确保了应用程序中的所有随机生成都使用适当的加密方法,而不是可预测的AI生成模式。
🔒 安全特性
此服务器实现了几个安全最佳实践:
- 加密安全随机性:所有随机数生成都使用Node.js
crypto模块功能(randomBytes,randomInt,randomUUID)其提供适用于安全敏感应用的密码安全伪随机数。
- 输入验证:全面验证所有输入参数,以防止注入攻击并确保数据完整性。
- 速率限制:内置发电量限制,以防止资源耗尽攻击。
- 错误处理:不会泄露有关系统状态的敏感信息的安全错误消息。
🧪 测试
该服务器包括一个全面的测试套件,用于验证所有功能:
# Run the test suite
node test.js测试套件包括:
- 工具发现和列表
- 所有随机生成函数
- 输入验证和错误处理
- 输出格式验证
- 统计属性验证
📊 演出
服务器在保持安全性的同时进行了性能优化:
- 高效算法:使用优化的本地加密函数
- 内存管理:内存占用最小,缓冲区处理效率高
- 并发请求:支持多个同时请求的线程安全设计
- 可扩展性:适用于高通量应用
🔧 发展
项目结构
pluggedin-random-number-generator-mcp/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript output
├── test.js # Comprehensive test suite
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This documentation建筑
npm run build发展模式
npm run devMCP检验员测试
您可以使用MCP检查器工具测试服务器:
npm run inspector这将启动MCP Inspector web界面,您可以在其中:
- 查看可用工具
- 测试工具执行
- 检查请求/响应有效载荷
- 调试服务器行为
🤝 贡献
欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
开发指南
- 遵循TypeScript的最佳实践
- 保持全面的测试覆盖率
- 更新新功能的文档
- 提交前确保所有测试通过
- 遵循语义版本控制发布
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🔗 相关项目
📞 支持
有关支持、问题或功能请求:
- 打开一个问题
- 访问 Plugged.in平台 用于MCP服务器管理
- 检查 MCP文件 有关协议详细信息
