Skip to main content
Glama

MCP Rand

versión npm Licencia: ISC

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona varias utilidades de generación aleatoria, incluidos UUID, números, cadenas, contraseñas, distribución gaussiana, lanzamiento de dados y robo de cartas.

Instalación

npm install mcp-rand

O instalar globalmente:

npm install -g mcp-rand

Related MCP server: RandomUser MCP Server

Características

Generador de UUID

  • Genera UUID de la versión 4 de RFC 4122

  • Utiliza el módulo criptográfico nativo de Node para la generación aleatoria segura

  • No se requieren parámetros

Generador de números aleatorios

  • Genera números aleatorios dentro de un rango específico

  • Valores mínimos y máximos configurables (inclusive)

  • El valor predeterminado es el rango 0-100 si no se proporcionan parámetros

Generador aleatorio gaussiano

  • Genera números aleatorios siguiendo una distribución gaussiana (normal)

  • Normalizado al rango 0-1

  • No se requieren parámetros

Generador de cadenas aleatorias

  • Genera cadenas aleatorias con longitud y conjuntos de caracteres configurables.

  • Admite múltiples conjuntos de caracteres:

    • alfanumérico (predeterminado): AZ, az, 0-9

    • numérico: 0-9

    • minúsculas: az

    • mayúsculas: AZ

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

  • Longitud de cadena configurable (predeterminada en 10)

Generador de contraseñas

  • Genera contraseñas seguras con una combinación de tipos de caracteres.

  • Asegura al menos un carácter de cada tipo (mayúsculas, minúsculas, números, especiales)

  • Longitud configurable (mínimo 8, predeterminado 16)

  • ADVERTENCIA: Aunque las contraseñas se generan localmente, se recomienda utilizar un administrador de contraseñas dedicado.

Tirador de dados

  • Tira varios dados utilizando la notación de dados estándar

  • Admite notaciones como "2d6" (dos dados de seis caras), "1d20" (un dado de veinte caras)

  • Devuelve los lanzamientos individuales y el total de cada juego de dados.

  • Puede lanzar varios conjuntos de dados diferentes a la vez (por ejemplo, "2d6", "1d20", "4d4")

Cajón de tarjetas

  • Saca cartas de una baraja estándar de 52 cartas

  • Mantiene el estado de la baraja entre extracciones utilizando codificación base64

  • Devuelve las cartas robadas y el estado restante del mazo.

  • Admite extraer cualquier cantidad de cartas hasta el tamaño del mazo.

  • Baraja adecuadamente las cartas disponibles antes de cada sorteo.

Uso

Como herramienta CLI

npx mcp-rand

Integración con clientes MCP

Agregue a su configuración de cliente MCP:

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

Ejemplo de uso

// 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==" } */

Contribuyendo

Consulte CONTRIBUTING.md para conocer la configuración y las pautas de desarrollo.

Licencia

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