MCPランド
UUID、数値、文字列、パスワード、ガウス分布、サイコロを振る、カードの描画など、さまざまな乱数生成ユーティリティを提供するモデル コンテキスト プロトコル (MCP) サーバー。
インストール
npm install mcp-randまたはグローバルにインストールします:
npm install -g mcp-randRelated MCP server: Random Value 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-randMCPクライアントとの統合
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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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
