🚀 Plugged.in隨機數生成器MCP服務器
這是一個採用模型上下文協議(MCP)的先進加密安全隨機數生成器服務器。該服務器為人工智能應用、大語言模型(LLMs)以及其他需要高質量隨機數的系統提供高級隨機數生成功能。
🚀 快速開始
本服務器是一個採用模型上下文協議(MCP)的先進加密安全隨機數生成器服務器,可用於人工智能應用、大語言模型(LLMs)以及其他需要高質量隨機數的系統。以下將為你介紹它的主要特性、安裝方式、使用方法等內容。
✨ 主要特性
- 加密安全:使用Node.js內置的
crypto模塊進行加密安全的偽隨機數生成(CSPRNG)。 
- 多種數據類型:可生成整數、浮點數、字節、通用唯一識別碼(UUID)、字符串、布爾值以及隨機選擇結果。
 
- 靈活配置:可定製範圍、數量、編碼和字符集。
 
- MCP兼容:完全符合模型上下文協議規範,包括相關工具和提示。
 
- AI友好提示:內置提示,幫助大語言模型理解應使用本服務器進行隨機數生成。
 
- 類型安全:使用TypeScript編寫,具有全面的類型定義。
 
- 錯誤處理:具備強大的輸入驗證和錯誤報告功能。
 
- 性能優化:採用高效算法,適用於高吞吐量應用。
 
📦 安裝指南
前提條件
- Node.js 18.0.0或更高版本
 
- npm或yarn包管理器
 
通過桌面擴展(DXT)安裝
對於Claude桌面版用戶,可將此服務器作為一鍵式桌面擴展進行安裝:
- 從發佈頁面下載最新的
.dxt文件。 
- 打開Claude桌面版。
 
- 轉到“設置”→“開發者”→“MCP服務器”。
 
- 點擊“從文件安裝”,選擇下載的
.dxt文件。 
從npm安裝
npm install -g pluggedin-random-number-generator-mcp
或者在你的項目中進行本地安裝:
npm install pluggedin-random-number-generator-mcp
使用Smithery部署
使用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
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(字符串,可選):隨機生成的特定要求 
示例用法:
當大語言模型收到諸如“生成一個隨機密碼”或“選擇一個隨機數”的請求時,該提示將:
- 告知大語言模型無法生成真正的隨機值。
 
- 解釋可用的加密安全工具。
 
- 指導AI使用適合該任務的工具。
這確保了應用程序中的所有隨機數生成都使用適當的加密方法,而不是可預測的AI生成模式。
 
🔧 技術細節
安全特性
本服務器實施了多項安全最佳實踐:
- 加密安全隨機性:所有隨機數生成均使用Node.js的
crypto模塊函數(randomBytes、randomInt、randomUUID),這些函數提供適用於安全敏感應用的加密安全偽隨機數。 
- 輸入驗證:對所有輸入參數進行全面驗證,以防止注入攻擊並確保數據完整性。
 
- 速率限制:內置生成數量限制,以防止資源耗盡攻擊。
 
- 錯誤處理:安全的錯誤消息,不會洩露有關係統狀態的敏感信息。
 
測試
服務器包含一個全面的測試套件,用於驗證所有功能:
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界面,你可以在其中:
- 查看可用工具
 
- 測試工具執行
 
- 檢查請求/響應負載
 
- 調試服務器行為
 
🤝 貢獻
歡迎貢獻代碼!請隨時提交拉取請求。對於重大更改,請先打開一個問題討論你想要更改的內容。
開發指南
- 遵循TypeScript最佳實踐。
 
- 保持全面的測試覆蓋率。
 
- 為新功能更新文檔。
 
- 在提交前確保所有測試通過。
 
- 遵循語義化版本控制進行版本發佈。
 
📄 許可證
本項目採用MIT許可證 - 詳情請參閱LICENSE文件。
🔗 相關項目
📞 支持
如需支持、提問或提出功能請求: