Modes MCP Server

Un servidor MCP para gestionar programáticamente los modos operativos personalizados de Roo.

Documentación

Servidor MCP de Modos

Un servidor MCP para gestionar los modos operativos personalizados de Roo, que proporciona control programático sobre la configuración y gestión de modos.

Características

  • Operaciones CRUD completas para modos personalizados
  • Validación de esquemas con Zod
  • Vigilancia del sistema de archivos para cambios de configuración
  • Manejo de errores con códigos de error MCP estándar
  • Operaciones atómicas de archivos

Instalación

# Clone the repository
git clone https://github.com/mkc909/modes-mcp-server.git
cd modes-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Configuración

1. Variables de Entorno

Copia .env.example a .env y ajusta según sea necesario:

cp .env.example .env

Variables de entorno disponibles:

  • MODES_CONFIG_PATH: Ruta al archivo de configuración de modos personalizados (predeterminado: %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_custom_modes.json)

2. Configuración de Modos Personalizados

Crea un archivo JSON para tu configuración de modos personalizados. Consulta examples/modes.example.json para conocer el formato:

{
  "customModes": [
    {
      "slug": "example-mode",
      "name": "Example Mode",
      "roleDefinition": "Example role definition describing the mode's capabilities and responsibilities.",
      "groups": [
        "read",
        ["edit", {
          "fileRegex": "\\.md$",
          "description": "Can edit markdown files only"
        }],
        "command",
        "mcp"
      ],
      "customInstructions": "Example custom instructions for the mode."
    }
  ]
}

3. Configuración de MCP

Agrega la configuración del servidor a tu archivo de configuración de MCP (normalmente en %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json). Consulta examples/mcp-settings.example.json para conocer el formato:

{
  "mcpServers": {
    "modes": {
      "command": "node",
      "args": ["/path/to/modes-mcp-server/build/index.js"],
      "env": {
        "MODES_CONFIG_PATH": "/path/to/custom/modes.json"
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

Marco de Modos Operativos

El servidor gestiona un conjunto completo de modos operativos:

Modos Principales del Sistema

  1. Modo de Planificación 🎯

    • Especialista en Planificación Estratégica
    • Diseño de sistemas y asignación de recursos
    • Desarrollo de hojas de ruta de proyectos
  2. Modo de Análisis 📊

    • Experto en Análisis de Datos
    • Seguimiento y análisis de métricas
    • Monitoreo de rendimiento
  3. Modo de Investigación 🔍

    • Especialista en Investigación de Sistemas
    • Investigación de mejores prácticas
    • Exploración de soluciones
  4. Modo de Implementación ⚙️

    • Experto en Implementación de Operaciones
    • Despliegue de sistemas
    • Ejecución de procesos
  5. Modo de Solución de Problemas 🔧

    • Especialista en Resolución de Sistemas
    • Identificación de problemas
    • Resolución de incidencias
  6. Modo de Control de Calidad ✅

    • Experto en Aseguramiento de Calidad
    • Validación de sistemas
    • Verificación de rendimiento
  7. Modo de Integración 🔄

    • Especialista en Integración de Sistemas
    • Coordinación entre sistemas
    • Optimización de flujos de trabajo
  8. Modo de Documentación 📝

    • Especialista en Gestión del Conocimiento
    • Documentación de procesos
    • Mantenimiento de estándares
  9. Modo de Gestión de Sesiones ⚡

    • Especialista en Gestión de Sesiones
    • Orquestación del flujo de trabajo diario
    • Gestión de estado

Modos Especializados

  • Gestor de Operaciones Comerciales
    • Comercio sistemático y gestión de riesgos
    • Documentación y análisis comercial
    • Análisis de mercado y optimización de estrategias

Flujo de Transición de Modos

graph TD
    A[Planning] --> B[Research]
    B --> C[Implementation]
    C --> D[Integration]
    D --> E[Quality Control]
    E --> F[Analytics]
    F --> G[Troubleshooting]
    G --> H[Documentation]
    H --> A

Herramientas Disponibles

list_modes

Lista todos los modos personalizados configurados actualmente.

get_mode

Obtén detalles de un modo específico por su slug.

Parámetros:

  • slug: El identificador único del modo

create_mode

Crea un nuevo modo personalizado.

Parámetros:

  • slug: Identificador único (letras minúsculas, números y guiones)
  • name: Nombre visible para el modo
  • roleDefinition: Descripción detallada del rol y las capacidades del modo
  • groups: Matriz de grupos de herramientas permitidos
  • customInstructions: (opcional) Instrucciones adicionales para el modo

update_mode

Actualiza un modo personalizado existente.

Parámetros:

  • slug: El identificador único del modo a actualizar
  • updates: Objeto que contiene los campos a actualizar (name, roleDefinition, groups, customInstructions)

delete_mode

Elimina un modo personalizado.

Parámetros:

  • slug: El identificador único del modo a eliminar

validate_mode

Valida una configuración de modo sin guardarla.

Parámetros:

  • mode: Objeto completo de configuración del modo a validar

Esquema de Configuración de Modos

interface CustomMode {
  slug: string;  // Lowercase letters, numbers, and hyphens only
  name: string;  // Display name
  roleDefinition: string;  // Detailed description
  groups: (string | [string, { fileRegex: string, description: string }])[];
  customInstructions?: string;  // Optional additional instructions
}

Desarrollo

  1. Realiza cambios en el código fuente en src/
  2. Compila el proyecto:
npm run build
  1. Inicia el servidor:
npm start

Mejores Prácticas

  1. Selección de Modos

    • Elige el modo apropiado para la tarea
    • Sigue los flujos de trabajo específicos del modo
    • Usa los grupos de herramientas designados
  2. Transiciones de Modos

    • Sigue el flujo de transición natural
    • Completa las tareas del modo actual
    • Preserva el contexto entre modos
  3. Gestión de Configuración

    • Valida los cambios antes de guardarlos
    • Mantén definiciones de roles claras
    • Documenta las capacidades del modo

Manejo de Errores

El servidor utiliza códigos de error MCP estándar:

  • InvalidParams: Parámetros de entrada no válidos o modo no encontrado
  • MethodNotFound: Herramienta desconocida solicitada
  • InternalError: Errores del sistema de archivos u otros problemas internos

Pruebas

Consulta TESTING.md para casos de prueba exhaustivos y procedimientos de validación.

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Envía una solicitud de extracción
  4. Sigue los estándares de codificación

Licencia

Licencia MIT: consulta LICENSE para obtener más detalles