random-web3-mcp

by suxiongye
Verified

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.

RandomWeb3MCP - Servicio de generación de elementos aleatorios Web3

RandomWeb3MCP es un servicio de generación de elementos aleatorios basado en el hash de bloque EVM. Ofrece diversas herramientas de generación de elementos aleatorios que pueden utilizarse en juegos, finanzas, pruebas y otros campos.

Características

  • Verificabilidad : Todos los números aleatorios se generan en función del hash de la cadena de bloques, lo que garantiza la imparcialidad y la verificabilidad.
  • Diversidad : admite varios escenarios de generación de números aleatorios, desde números aleatorios básicos hasta distribuciones de probabilidad complejas.
  • Confiabilidad : utiliza blockchain como fuente de entropía para garantizar la calidad de la aleatoriedad.
  • Usabilidad : Proporciona interfaces API simples e intuitivas para una fácil integración.

Instalación

git clone git@git.woa.com:zhixinlian/zxl-mcp-server.git pip install -e .

Inicio rápido

Configuración en tico o Cursor

Agregue la configuración del servicio random-web3-mcp en la configuración del cursor:

{ "mcpServers": { "random-web3-mcp": { "command": "uv", "args": ["--directory", "local_repo_directory/zxl-mcp-server", "run", "main.py"] } } }

Lista de herramientas

generar_aleatorio_básico

Nombre

Generador básico de números aleatorios

Función

Generar un entero aleatorio dentro del rango especificado

Parámetros

  • min_value (int, opcional): Valor mínimo (inclusive). El valor predeterminado es 0.
  • max_value (int, opcional): Valor máximo (inclusive). El valor predeterminado es 1000000.
  • sal (str, opcional): Valor de sal de número aleatorio para mayor aleatoriedad. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene el resultado del número aleatorio

Escenarios de aplicación

  1. Sistemas de lotería
  2. Juego de números aleatorios
  3. Generación de identificación aleatoria
  4. Generación de datos de prueba

generar_matriz_aleatoria

Nombre

Generador de matrices aleatorias

Función

Generar una matriz aleatoria de longitud especificada

Parámetros

  • array_length (int, opcional): Longitud del array. El valor predeterminado es 1.
  • min_value (int, opcional): Valor mínimo. El valor predeterminado es 0.
  • max_value (int, opcional): Valor máximo. El valor predeterminado es 1000000.
  • salt (str, opcional): Valor de sal de número aleatorio. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene la matriz aleatoria

Escenarios de aplicación

  1. Generación de números aleatorios por lotes
  2. Muestreo aleatorio
  3. Generación de conjuntos de datos de prueba
  4. Asignación de tareas aleatorias

generar_ponderado_aleatorio

Nombre

Selector aleatorio ponderado

Función

Seleccione aleatoriamente una opción en función de los pesos

Parámetros

  • opciones (Lista[str]): Lista de opciones
  • pesos (List[int]): Lista de pesos correspondiente (0-1000)
  • salt (str, opcional): Valor de sal de número aleatorio. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene el resultado de la selección

Escenarios de aplicación

  1. Sistemas de lotería (premios con diferentes probabilidades)
  2. Gotas aleatorias (gotas de artículos ponderados)
  3. Asignación de tareas (según prioridad)
  4. Pruebas A/B (grupos experimentales con diferentes proporciones)

generar_característica_aleatoria

Nombre

Asignador aleatorio de funciones

Función

Genera un conjunto de valores de características aleatorios para los objetos, cada uno dentro de su rango especificado. Los valores de las características se codifican en un mapa de bits, donde cada característica ocupa 8 bits.

Parámetros

  • feature_count (int): Número de características a generar
  • feature_max_values (List[int]): Lista de valores máximos para cada característica, la longitud debe ser igual a feature_count
  • sal (str, opcional): Valor de sal de número aleatorio para mayor aleatoriedad. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene valores de características y mapas de bits, formateados como:

{ "requestId": "Generated request ID", "features": [List of feature values], "featureBitmap": Feature bitmap value }

Escenarios de aplicación

  1. Generación de atributos de personajes del juego (fuerza, agilidad, inteligencia, etc.)
  2. Aleatorización de atributos de equipo (ataque, defensa, velocidad, etc.)
  3. Simulación de rasgos biológicos (genes, rasgos, etc.)
  4. Generación aleatoria de escenas (terreno, clima, entorno, etc.)

generar_distribución

Nombre

Generador aleatorio de distribución de probabilidad

Función

Genera números aleatorios según el tipo de distribución de probabilidad y los parámetros especificados. Admite diversas distribuciones de probabilidad comunes.

Parámetros

  • tipo_distribución (int): Tipo de distribución:
    • 1 = Distribución uniforme (parámetros: [valor mínimo, valor máximo])
    • 2 = Distribución normal (parámetros: [media, desviación estándar])
    • 3 = Distribución exponencial (parámetros: [scale_parameter])
    • 4 = Distribución binomial (parámetros: [ensayos, probabilidad de éxito])
  • distribución_parámetros (Lista[flotante]): Lista de parámetros de distribución
  • sal (str, opcional): Valor de sal de número aleatorio para mayor aleatoriedad. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene información de distribución y valor aleatorio, con el siguiente formato:

{ "requestId": "Generated request ID", "randomValue": Generated random value, "distributionMetadata": { "distributionType": Distribution type, ...Distribution parameters } }

Escenarios de aplicación

  1. Simulación del mercado financiero (distribución de rentabilidad, análisis de riesgos)
  2. Simulación de fenómenos naturales (distribución de partículas, generación de ruido)
  3. Pruebas de carga (distribución del comportamiento del usuario)
  4. Muestreo estadístico (generación de datos experimentales)

generar_evento_aleatorio

Nombre

Desencadenante de evento aleatorio

Función

Activa una serie de eventos según las probabilidades dadas. Cada evento tiene una probabilidad de activación independiente. Utiliza un mapa de bits para registrar el estado de activación y facilitar su procesamiento.

Parámetros

  • event_count (int): Número total de eventos
  • event_probabilities (List[int]): Probabilidad de activación para cada evento (0-1000, que representa el 0-100%)
  • sal (str, opcional): Valor de sal de número aleatorio para mayor aleatoriedad. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene los resultados de activación de eventos, con el siguiente formato:

{ "requestId": "Generated request ID", "triggeredEvents": Event trigger bitmap, "eventResults": [ { "eventId": Event ID, "probability": Trigger probability, "triggered": Whether triggered, "randomValue": Random value }, ... ] }

Escenarios de aplicación

  1. Eventos aleatorios del juego (trama desencadenante, elementos que caen)
  2. Determinación del efecto de probabilidad (activación de habilidad, determinación de combo)
  3. Simulación de eventos de riesgo (predicción de fallas, eventos de accidentes)
  4. Determinación de múltiples condiciones (eventos de probabilidad combinados)

generar semilla aleatoria

Nombre

Generador de semillas aleatorias

Función

Genera una semilla aleatoria de alta entropía para cifrado u otros escenarios que requieren números aleatorios de alta calidad. Utiliza el hash de la cadena de bloques como fuente de entropía para garantizar la aleatoriedad.

Parámetros

  • seed_length (int): Longitud de la semilla a generar (en bytes)
  • sal (str, opcional): Valor de sal de número aleatorio para mayor aleatoriedad. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene una semilla aleatoria, formateada como:

{ "requestId": "Generated request ID", "randomSeed": "Random seed in hexadecimal format", "entropy": Estimated entropy value }

Escenarios de aplicación

  1. Generación de claves (claves de cifrado, semillas de firma)
  2. Tokens de seguridad (identificadores de sesión, tokens de autenticación)
  3. Inicialización de números aleatorios (semillas PRNG, estados iniciales de simulación)
  4. Generación de identificadores únicos (semillas UUID, identificadores aleatorios)

matriz aleatoria

Nombre

Mezclador de matrices aleatorias

Función

Baraja aleatoriamente la matriz de entrada, garantizando que cada elemento tenga la misma probabilidad de aparecer en cualquier posición. Utiliza el algoritmo de barajado de Fisher-Yates para garantizar la imparcialidad.

Parámetros

  • input_array (Lista): Matriz que se va a barajar, los elementos pueden ser de cualquier tipo
  • sal (str, opcional): Valor de sal de número aleatorio para mayor aleatoriedad. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene la matriz mezclada, formateada como:

{ "requestId": "Generated request ID", "shuffledArray": [Shuffled array] }

Escenarios de aplicación

  1. Barajado de juegos (cartas de juego, fichas de mahjong)
  2. Orden aleatorio (orden de preguntas, lista de reproducción)
  3. Agrupación aleatoria (asignación de equipo, agrupación de experimentos)
  4. Mezcla de datos (conjunto de datos de entrenamiento, casos de prueba)

generar_coordenadas

Nombre

Generador de coordenadas aleatorias

Función

Genera puntos de coordenadas aleatorios en un espacio dimensional específico. Cada dimensión tiene su propio rango de valores. Admite la generación de coordenadas en cualquier número de dimensiones.

Parámetros

  • dimensiones (int): Número de dimensiones de coordenadas (1D, 2D, 3D, etc.)
  • min_values (List[float]): Lista de valores mínimos para cada dimensión
  • max_values (List[float]): Lista de valores máximos para cada dimensión
  • coordinate_count (int): Número de puntos de coordenadas a generar
  • sal (str, opcional): Valor de sal de número aleatorio para mayor aleatoriedad. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene coordenadas aleatorias, formateada como:

{ "requestId": "Generated request ID", "coordinates": [ [x1, y1, z1, ...], # First point coordinates [x2, y2, z2, ...], # Second point coordinates ... ] }

Escenarios de aplicación

  1. Posicionamiento de objetos del juego (ubicación de NPC, distribución de elementos)
  2. Sistemas de partículas (generación de efectos, distribución de partículas)
  3. Generación de mapas (altura del terreno, distribución de recursos)
  4. Muestreo espacial (modelado 3D, análisis espacial)

generar_rareza

Nombre

Asignador aleatorio de rarezas

Función

Genera puntos de coordenadas aleatorios en un espacio dimensional específico. Cada dimensión tiene su propio rango de valores. Admite la generación de coordenadas en cualquier número de dimensiones.

Parámetros

  • item_count: Cantidad del proyecto
  • rarity_tiers: Matriz de niveles de rareza
  • rarity_percentages: Porcentaje de probabilidad para cada nivel de rareza
  • Guaranteed_minimums: Cantidad garantizada para cada nivel de rareza (opcional)
  • sal (str, opcional): Valor de sal de número aleatorio para mayor aleatoriedad. El valor predeterminado es ''

Devoluciones

Cadena JSON que contiene una matriz de rareza aleatoria, formateada como:

{ "requestId": "Generated request ID", "rarityDistribution": [Rarity allocation result] }

Escenarios de aplicación

  1. Obtención de objetos del juego (equipos y objetos de diferente rareza)
  2. Sistemas de lotería (premios con diferentes probabilidades)
  3. Asignación de recursos (recursos de diferente rareza, materiales)
  4. Desencadenante de eventos aleatorios (eventos de diferente probabilidad)

Escenarios de aplicación

Desarrollo de juegos

  • Objetos que caen al azar
  • Generación de atributos de caracteres
  • Generación aleatoria de mapas
  • Desencadenante de evento de probabilidad

Aplicación financiera

  • Simulación de riesgos
  • Análisis de cartera de inversiones
  • Simulación del comportamiento del mercado

Datos de prueba

  • Generación aleatoria de casos de prueba
  • Datos de prueba de carga
  • Muestra de prueba de rendimiento

Cálculo científico

  • Simulación de Monte Carlo
  • Simulación de sistemas de partículas
  • Muestreo aleatorio

Notas

  1. Toda generación de números aleatorios depende del hash de la cadena de bloques de Trust Chain; asegúrese de que la conexión a la red sea normal.
  2. El rango de valores de peso del selector aleatorio ponderado es de 0 a 1000, lo que representa una probabilidad del 0 al 100 %.
  3. Los parámetros de distribución de probabilidad deben proporcionar una lista de parámetros correcta según el tipo de distribución específico
  4. Se recomienda utilizar el parámetro de sal en el entorno de producción para aumentar la aleatoriedad.

Manejo de errores

El servicio puede devolver los siguientes tipos de error:

{ "error": "Error message", "code": "Error code", "requestId": "Request ID" }

Códigos de error comunes:

  • INVALID_PARAMS : Error de parámetro
  • NETWORK_ERROR : Error de conexión de red
  • CHAIN_ERROR : Error de acceso a la cadena de bloques
  • INTERNAL_ERROR : Error de servicio interno

Consideración del rendimiento

  • Cada solicitud de generación de números aleatorios necesita acceder a la cadena de bloques, lo que puede tener un cierto retraso.
  • Se recomienda almacenar en caché los números aleatorios utilizados con frecuencia
  • Preste atención a la frecuencia de las solicitudes cuando maneje una gran cantidad de solicitudes simultáneas

Guía de contribuciones

Te invitamos a enviar un problema y una solicitud de extracción para ayudar a mejorar este proyecto. Antes de enviar, asegúrate de lo siguiente:

  1. El código se ajusta a la especificación PEP 8
  2. Se agregan casos de prueba apropiados
  3. Se actualizan los documentos relacionados

Licencia

Este proyecto utiliza la licencia MIT. Consulte el archivo de licencia para más detalles.

ID: l8j1n7vnd2