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
-
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
-
Modo de Análisis 📊
- Experto en Análisis de Datos
- Seguimiento y análisis de métricas
- Monitoreo de rendimiento
-
Modo de Investigación 🔍
- Especialista en Investigación de Sistemas
- Investigación de mejores prácticas
- Exploración de soluciones
-
Modo de Implementación ⚙️
- Experto en Implementación de Operaciones
- Despliegue de sistemas
- Ejecución de procesos
-
Modo de Solución de Problemas 🔧
- Especialista en Resolución de Sistemas
- Identificación de problemas
- Resolución de incidencias
-
Modo de Control de Calidad ✅
- Experto en Aseguramiento de Calidad
- Validación de sistemas
- Verificación de rendimiento
-
Modo de Integración 🔄
- Especialista en Integración de Sistemas
- Coordinación entre sistemas
- Optimización de flujos de trabajo
-
Modo de Documentación 📝
- Especialista en Gestión del Conocimiento
- Documentación de procesos
- Mantenimiento de estándares
-
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 modoroleDefinition: Descripción detallada del rol y las capacidades del modogroups: Matriz de grupos de herramientas permitidoscustomInstructions: (opcional) Instrucciones adicionales para el modo
update_mode
Actualiza un modo personalizado existente.
Parámetros:
slug: El identificador único del modo a actualizarupdates: 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
- Realiza cambios en el código fuente en
src/ - Compila el proyecto:
npm run build
- Inicia el servidor:
npm start
Mejores Prácticas
-
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
-
Transiciones de Modos
- Sigue el flujo de transición natural
- Completa las tareas del modo actual
- Preserva el contexto entre modos
-
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 encontradoMethodNotFound: Herramienta desconocida solicitadaInternalError: Errores del sistema de archivos u otros problemas internos
Pruebas
Consulta TESTING.md para casos de prueba exhaustivos y procedimientos de validación.
Contribuciones
- Haz un fork del repositorio
- Crea una rama de características
- Envía una solicitud de extracción
- Sigue los estándares de codificación
Licencia
Licencia MIT: consulta LICENSE para obtener más detalles