MCP Rand

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows publishing and installing the MCP-rand server as a package from the npm registry

  • Used to display badges showing the package's npm version and license information

MCP Rand

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

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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Proporciona utilidades de generación de números aleatorios, incluido un generador UUID seguro impulsado por el módulo criptográfico de Node.

  1. Installation
    1. Features
      1. UUID Generator
      2. Random Number Generator
      3. Gaussian Random Generator
      4. Random String Generator
      5. Password Generator
      6. Dice Roller
      7. Card Drawer
    2. Usage
      1. As a CLI Tool
      2. Integration with MCP Clients
      3. Example Usage
    3. Contributing
      1. License
        ID: ccd6b0hni8