Skip to main content
Glama

MCPランド

npmバージョン ライセンス: ISC

UUID、数値、文字列、パスワード、ガウス分布、サイコロを振る、カードの描画など、さまざまな乱数生成ユーティリティを提供するモデル コンテキスト プロトコル (MCP) サーバー。

インストール

npm install mcp-rand

またはグローバルにインストールします:

npm install -g mcp-rand

Related MCP server: RandomUser MCP Server

特徴

UUIDジェネレータ

  • RFC 4122 バージョン 4 UUID を生成する

  • 安全な乱数生成のためにNodeのネイティブ暗号モジュールを使用する

  • パラメータは必要ありません

乱数ジェネレータ

  • 指定された範囲内で乱数を生成します

  • 設定可能な最小値と最大値(両端を含む)

  • パラメータが指定されていない場合は、デフォルトで 0 ~ 100 の範囲になります。

ガウス乱数ジェネレータ

  • ガウス(正規)分布に従う乱数を生成します

  • 0~1の範囲に正規化

  • パラメータは必要ありません

ランダム文字列ジェネレータ

  • 設定可能な長さと文字セットでランダムな文字列を生成します

  • 複数の文字セットをサポートします:

    • 英数字 (デフォルト): A ~ Z、a ~ z、0 ~ 9

    • 数字: 0~9

    • 小文字: a〜z

    • 大文字: AZ

    • 特殊: !@#$%^&*()_+-=[]{};'"\|,.<>/?

  • 設定可能な文字列の長さ(デフォルトは10)

パスワードジェネレーター

  • さまざまな文字タイプを組み合わせた強力なパスワードを生成します

  • 各タイプ(大文字、小文字、数字、特殊文字)から少なくとも 1 文字が含まれていることを確認します。

  • 設定可能な長さ(最小 8、デフォルト 16)

  • 警告: パスワードはローカルで生成されますが、専用のパスワードマネージャーを使用することをお勧めします。

ダイスローラー

  • 標準的なサイコロ表記法を使用して複数のサイコロを振る

  • 「2d6」(6面ダイス2個)、「1d20」(20面ダイス1個)などの表記をサポートします。

  • 各サイコロセットの個々のロールと合計を返します

  • 複数の異なるサイコロセットを一度に振ることができます(例:「2d6」、「1d20」、「4d4」)

カード引き出し

  • 標準的な52枚のカードデッキからカードを引く

  • base64エンコードを使用して、ドロー間のデッキの状態を維持します。

  • 引いたカードと残りのデッキの状態を返します

  • デッキサイズまで任意の数のカードを引くことをサポートします

  • 各ドローの前に利用可能なカードを適切にシャッフルする

使用法

CLIツールとして

npx mcp-rand

MCPクライアントとの統合

MCP クライアント構成に追加します:

{ "mcpServers": { "mcp-rand": { "command": "node", "args": ["path/to/mcp-rand/build/index.js"], "disabled": false, "alwaysAllow": [] } } }

使用例

// Generate UUID const uuid = await client.callTool('generate_uuid', {}); console.log(uuid); // e.g., "550e8400-e29b-41d4-a716-446655440000" // Generate random number const number = await client.callTool('generate_random_number', { min: 1, max: 100 }); console.log(number); // e.g., 42 // Generate Gaussian random number const gaussian = await client.callTool('generate_gaussian', {}); console.log(gaussian); // e.g., 0.6827 // Generate random string const string = await client.callTool('generate_string', { length: 15, charset: 'alphanumeric' }); console.log(string); // e.g., "aB9cD8eF7gH6iJ5" // Generate password const password = await client.callTool('generate_password', { length: 20 }); console.log(password); // e.g., "aB9#cD8$eF7@gH6*iJ5" // Roll dice const rolls = await client.callTool('roll_dice', { dice: ['2d6', '1d20', '4d4'] }); console.log(rolls); /* Output example: [ { "dice": "2d6", "rolls": [3, 1], "total": 4 }, { "dice": "1d20", "rolls": [4], "total": 4 }, { "dice": "4d4", "rolls": [2, 3, 2, 3], "total": 10 } ] */ // Draw cards const draw1 = await client.callTool('draw_cards', { count: 5 }); console.log(draw1); /* Output example: { "drawnCards": [ { "suit": "hearts", "value": "A" }, { "suit": "diamonds", "value": "7" }, { "suit": "clubs", "value": "K" }, { "suit": "spades", "value": "2" }, { "suit": "hearts", "value": "10" } ], "remainingCount": 47, "deckState": "t//+///bDw==" } */ // Draw more cards using previous deck state const draw2 = await client.callTool('draw_cards', { count: 3, deckState: draw1.deckState }); console.log(draw2); /* Output example: { "drawnCards": [ { "suit": "diamonds", "value": "Q" }, { "suit": "clubs", "value": "5" }, { "suit": "spades", "value": "J" } ], "remainingCount": 44, "deckState": "l//+//zbDw==" } */

貢献

開発のセットアップとガイドラインについては、 CONTRIBUTING.md を参照してください。

ライセンス

ISC

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/turlockmike/mcp-rand'

If you have feedback or need assistance with the MCP directory API, please join our Discord server