Skip to main content
Glama
turlockmike

MCP Rand

by turlockmike

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