Bedrock Server Manager

Gestiona tu servidor Bedrock con comandos en lenguaje natural usando la API de Bedrock Server Manager.

Documentación

Servidor MCP de Bedrock Server Manager

Un servidor integral del Protocolo de Contexto de Modelos (MCP) que proporciona acceso en lenguaje natural a la funcionalidad de Bedrock Server Manager. Este servidor le permite gestionar sus servidores de Minecraft Bedrock Edition a través de asistentes de IA como Claude Desktop utilizando comandos conversacionales simples.

🚀 Características

Gestión de Servidores

  • Ciclo de Vida del Servidor: Iniciar, detener, reiniciar y monitorear el estado del servidor
  • Instalación de Servidores: Instalar nuevos servidores con configuraciones personalizadas
  • Actualizaciones de Servidores: Actualizar servidores a versiones específicas o versiones recientes
  • Validación de Servidores: Verificar la integridad y configuración del servidor

Gestión de Jugadores y Mundos

  • Gestión de Listas de Permitidos: Agregar/eliminar jugadores de las listas de permitidos del servidor
  • Permisos de Jugadores: Ver y gestionar los niveles de permisos de los jugadores
  • Operaciones de Mundos: Restablecer mundos, exportar/importar archivos de mundos, instalar mundos personalizados
  • Listas Globales de Jugadores: Gestionar listas globales de jugadores entre servidores

Copias de Seguridad y Restauración

  • Copias de Seguridad Automatizadas: Crear copias de seguridad de servidores y mundos bajo demanda
  • Gestión de Copias de Seguridad: Listar, depurar y gestionar archivos de copia de seguridad
  • Operaciones de Restauración: Restaurar servidores desde archivos de copia de seguridad específicos
  • Exportar/Importar: Exportar mundos e importar contenido personalizado

Características Avanzadas

  • Gestión de Complementos: Instalar y gestionar complementos de Bedrock
  • Control de Plugins: Habilitar/deshabilitar plugins, recargar configuraciones, activar eventos
  • Tareas Programadas: Crear y gestionar trabajos cron (Linux/macOS) o tareas de Windows
  • Monitoreo del Sistema: Ver información del sistema y detalles de procesos del servidor
  • Gestión de Configuración: Actualizar propiedades del servidor y configuraciones de servicios

📋 Requisitos Previos

  • Python 3.8 o superior
  • Acceso a una instancia en ejecución de Bedrock Server Manager
  • Credenciales válidas para su Bedrock Server Manager

🛠️ Instalación

1. Clonar o Descargar

git clone <repository-url>
cd BedrockMCP

2. Crear Entorno Virtual

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

3. Instalar Dependencias

pip install -r requirements.txt

4. Configuración del Entorno

Cree un archivo .env en la raíz del proyecto:

# Required: Your Bedrock Server Manager API endpoint
BEDROCK_API_BASE=http://localhost:11325

# Required: Authentication credentials
BEDROCK_SERVER_MANAGER_USERNAME=your_username
BEDROCK_SERVER_MANAGER_PASSWORD=your_password

# Optional: Enable debug output for API responses
BEDROCK_DEBUG=false

Notas de Configuración:

  • El puerto predeterminado de Bedrock Server Manager es 11325
  • Reemplace localhost con la dirección IP de su servidor si se ejecuta de forma remota
  • Asegúrese de que su instancia de Bedrock Server Manager esté en ejecución y sea accesible

🎯 Uso

Modo Independiente

python bedrock_mcp_server.py

Agregue el indicador --debug para el registro detallado de respuestas de la API:

python bedrock_mcp_server.py --debug

Con Claude Desktop

  1. Abra la Configuración de Claude Desktop

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Agregue la Configuración del Servidor MCP

    {
      "mcpServers": {
        "bedrock-server-manager": {
          "command": "/path/to/your/BedrockMCP/start_bedrock_mcp.sh",
          "args": []
        }
      }
    }
    
  3. Haga Ejecutable el Script de Inicio (macOS/Linux)

    chmod +x start_bedrock_mcp.sh
    
  4. Actualice la Ruta del Script Edite start_bedrock_mcp.sh y actualice la ruta del proyecto en la línea 4:

    cd /your/actual/path/to/BedrockMCP
    
  5. Reinicie Claude Desktop

🔧 Herramientas Disponibles

  • El conjunto de herramientas y endpoints disponibles está evolucionando rápidamente. Para obtener la lista más actualizada, consulte la especificación OpenAPI de bedrock-server-manager o use comandos en lenguaje natural con su asistente LLM para descubrir las capacidades actuales.

💬 Ejemplos de Comandos

Una vez configurado con Claude Desktop, puede usar comandos en lenguaje natural como:

Operaciones de Servidor

  • "¿Qué servidores tengo y cuál es su estado?"
  • "Inicia mi servidor de supervivencia"
  • "Detén el servidor creativo y luego reinícialo"
  • "¿Cuál es el estado detallado de mi servidor principal?"

Gestión de Jugadores

  • "¿Quién está en la lista de permitidos de mi servidor de supervivencia?"
  • "Agrega a Steve y Alex a la lista de permitidos del servidor de supervivencia"
  • "Elimina a Bob de la lista de permitidos del servidor creativo"
  • "¿Cuáles son los permisos de jugadores en mi servidor?"

Comandos del Servidor

  • "Envía el comando 'list' a mi servidor de supervivencia"
  • "Diles a todos los jugadores del servidor creativo que el servidor se reiniciará en 5 minutos"
  • "Cambia la dificultad a difícil en mi servidor de supervivencia"

Operaciones de Copia de Seguridad

  • "Crea una copia de seguridad de mi servidor de supervivencia"
  • "Muéstrame todas las copias de seguridad del servidor creativo"
  • "Restaura mi servidor de supervivencia desde la copia de seguridad de ayer"
  • "Elimina copias de seguridad antiguas, conservando solo las últimas 5"

Gestión de Mundos

  • "Restablece el mundo en mi servidor de pruebas"
  • "Instala el mundo 'skyblock' en mi servidor de aventuras"
  • "Exporta el mundo de mi servidor de supervivencia"

Operaciones Avanzadas

  • "Actualiza mi servidor principal a la versión más reciente"
  • "Instala el complemento better-spawning en todos mis servidores"
  • "Crea un trabajo de copia de seguridad diario para mi servidor de supervivencia"
  • "Muéstrame la información del sistema"

🔍 Solución de Problemas

Problemas de Conexión

  1. Verifique que Bedrock Server Manager esté en ejecución

    curl http://localhost:11325/api/health
    
  2. Verifique las credenciales en el archivo .env

    • Asegúrese de que el nombre de usuario y la contraseña sean correctos
    • Verifique que la URL de BEDROCK_API_BASE sea accesible
  3. Habilite el modo de depuración

    python bedrock_mcp_server.py --debug
    

Problemas Comunes

"No se puede obtener la lista de servidores"

  • Verifique si Bedrock Server Manager está en ejecución
  • Verifique la conectividad de red al endpoint de la API
  • Confirme las credenciales de autenticación

"Error de inicio de sesión"

  • Vuelva a verificar el nombre de usuario y la contraseña en .env
  • Asegúrese de que Bedrock Server Manager permita el acceso a la API

Errores de permisos de script (macOS/Linux)

chmod +x start_bedrock_mcp.sh

🧪 Pruebas de Cobertura de API

Para garantizar que todos los endpoints de OpenAPI estén mapeados a funciones MCP (y viceversa), este proyecto incluye scripts automatizados de cobertura:

  1. Extraer Endpoints de OpenAPI:
    • extract_openapi_endpoints.py obtiene la especificación OpenAPI de su instancia en ejecución de Bedrock Server Manager (host y puerto configurables) y genera todos los endpoints con sus operationId en openapi_endpoints.json.
  2. Extraer Funciones MCP:
    • extract_mcp_functions.py escanea bedrock_mcp_server.py en busca de funciones expuestas por MCP (decoradas con @mcp_tool_testable) y las genera en mcp_functions.json.
  3. Ejecutar Prueba de Cobertura:
    • test_api_coverage.py (ejecutado con pytest) compara las dos listas e informa cualquier endpoint o función no mapeado.
  4. Flujo de Trabajo Automatizado:
    • run_api_coverage_check.py automatiza todos los pasos anteriores.

Cómo Usar

Ejecute el flujo de trabajo de cobertura y opcionalmente especifique el host y puerto del servidor (valores predeterminados localhost y 11325):

python run_api_coverage_check.py [server] [port]

Esto:

  • Generará openapi_endpoints.json y mcp_functions.json
  • Ejecutará la prueba de cobertura e imprimirá cualquier mapeo faltante o adicional

Requisitos

  • pytest debe estar instalado (consulte Dependencias a continuación)

Propósito

  • Este flujo de trabajo ayuda a mantener sincronizados su documentación OpenAPI y su implementación MCP, garantizando que todos los endpoints estén cubiertos y documentados.

📝 Dependencias

  • mcp (>=1.2.0) - Implementación del Protocolo de Contexto de Modelos
  • httpx (>=0.24.0) - Cliente HTTP moderno para solicitudes de API
  • python-dotenv (>=1.0.0) - Gestión de variables de entorno
  • pytest (para pruebas de cobertura de API)

🤝 Contribuciones

Este proyecto interactúa con Bedrock Server Manager. Para problemas relacionados con el propio administrador de servidores, consulte el repositorio de ese proyecto.

📄 Licencia

Este proyecto se proporciona tal cual para uso educativo y personal. Respete las licencias del Bedrock Server Manager subyacente y de Minecraft Bedrock Edition.