Mycommandmcp

MyCommandMCP es un servidor MCP versátil escrito en Rust que te permite ejecutar comandos del sistema como herramientas MCP. Es altamente configurable y puede adaptarse a una amplia gama de casos de uso.

Instalación

Puedes instalar MyCommandMCP descargando el binario desde la página de releases o construyéndolo desde el código fuente.

Para instalar el binario, descarga la versión apropiada para tu sistema, descomprímela y coloca el ejecutable en un directorio incluido en el PATH de tu sistema.

Configuración

MyCommandMCP se configura usando un archivo YAML. Por defecto, busca un archivo llamado mycommand-tools.yaml en el directorio actual. También puedes especificar un archivo de configuración personalizado usando la bandera --config.

El archivo de configuración tiene tres secciones principales: prompts, tools, y resources.

Aquí hay un ejemplo de configuración de tools:

tools:
  - name: "list_files"
    description: "Lists files in a specific directory"
    command: "ls"
    path: "/"
    accepts_args: true
    accept_input: false
    default_args: "-l"
  - name: "get_date"
    description: "Gets the current system date and time"
    command: "date"
    path: "/"
    accepts_args: false
    accept_input: false

Esta configuración define dos herramientas: list_files, que ejecuta el comando ls -l, y get_date, que ejecuta el comando date.

Puedes encontrar información más detallada sobre las opciones de configuración en la documentación oficial.

Este es un ejemplo completo de un mycommand-tools.yaml de desarrollo real:

tools:
  - name: "get_date"
    description: "Displays the current system date and time in various formats. Can show UTC time, format output, or display specific timezones, the tool accepts the same arguments of the `date` linux command"
    command: "date"
    path: "/"
    accepts_args: true
    accept_input: false

  - name: "process_list"
    description: "Displays information about running processes"
    command: "ps"
    path: "/"
    accepts_args: true
    accept_input: false
    default_args: "auxef"

  - name: "network_info"
    description: "Shows the network interfaces, routing, devices, and tunnels. This tools accepts the same arguments of the `ip` linux command"
    command: "ip"
    path: "/"
    accepts_args: true
    accept_input: false
    default_args: "addr"

  - name: "curl"
    description: "Downloads any resource from a URL using `curl` command. Use this tool for run any `curl` command what you want"
    command: "curl"
    path: "/tmp"
    accepts_args: true
    accept_input: false

  - name: "vscode"
    description: "Call always to open VSCode in the path specified in the argument. Use this tool when you write or edit code"
    command: "vscode"
    path: "/www"
    accepts_args: true
    accept_input: false


prompts:
  - name: "summarize"
    description: "Resume un texto dado"
    content: |
      Por favor resume el siguiente texto en 3 oraciones o menos.
      Considera los puntos principales y detalles clave.
      Mantén un estilo claro y conciso.

  - name: "translate"
    description: "Traduce texto a español"
    content: |
      Traduce el siguiente texto a español.
      Preserva el significado y tono original.
      Usa lenguaje español natural y fluido.

  - name: "code_review"
    description: "🔍 Revisión de código completa con análisis de seguridad y rendimiento"
    content: |
      🔍 **Solicitud de Revisión de Código**

      Por favor realiza una revisión completa de código de: `{file_path}`

      **Áreas de Enfoque:** {focus_areas}

      **Criterios de Revisión:**
      - 🛡️ Vulnerabilidades de seguridad y mejores prácticas
      - ⚡ Implicaciones de rendimiento y optimizaciones
      - 📝 Claridad del código y mantenibilidad
      - 🦀 Idiomas y patrones específicos del lenguaje
      - 🧪 Capacidad de prueba y manejo de errores
      - 📚 Documentación y comentarios

      **Entregables:**
      1. Evaluación resumida con niveles de severidad
      2. Problemas específicos con referencias de línea
      3. Sugerencias de mejora accionables
      4. Aspectos positivos y patrones bien implementados

      Por favor usa operaciones de archivo para leer el código y proporcionar retroalimentación detallada.

  - name: "rust_optimization"
    description: "🦀 Sugerencias de optimización específicas de Rust y patrones idiomáticos"
    content: |
      🦀 **Análisis de Optimización de Rust**

      **Objetivo:** {optimization_goal}

      **Código a Optimizar:**
      ```rust
      {code_snippet}
      ```

      **Marco de Análisis:**
      - 🚀 Rendimiento: Abstracciones de costo cero, patrones de asignación
      - 💾 Memoria: Propiedad, préstamo, optimizaciones de vida útil
      - 📖 Legibilidad: Patrones idiomáticos de Rust, claridad
      - 🛡️ Seguridad: Seguridad de memoria, seguridad de hilos, manejo de errores

      **Entregables:**
      1. Código optimizado con explicaciones
      2. Análisis de impacto en rendimiento
      3. Compensaciones y alternativas
      4. Sugerencias de benchmark si aplicable

      Enfócate en idiomas modernos de Rust y abstracciones de costo cero.

  - name: "debug_assistance"
    description: "🐛 Análisis de debug con investigación de errores y sugerencias de corrección"
    content: |
      🐛 **Solicitud de Asistencia de Debug**

      **Mensaje de Error:**
      ```
      {error_message}
      ```

      **Contexto:**
      {context}

      **Estrategia de Debug:**
      1. 🔍 Análisis de Error: Identificación de causa raíz
      2. 🛠️ Sugerencias de Corrección: Resolución paso a paso
      3. 🧪 Verificación: Enfoque de prueba para la corrección
      4. 🚀 Prevención: Cómo evitar problemas similares

      **Herramientas de Investigación:**
      - Usa operaciones de archivo para examinar código relacionado
      - Busca patrones similares en el código base
      - Verifica dependencias y configuraciones

      Por favor proporciona pasos de debug accionables y recomendaciones de corrección.

  - name: "architecture_design"
    description: "🏗️ Análisis de arquitectura de software y recomendaciones de diseño"
    content: |
      🏗️ **Consulta de Diseño de Arquitectura**

      **Proyecto:** {project_description}

      **Restricciones:** {constraints}

      **Marco de Diseño:**
      - 🎯 Análisis de Requisitos: Funcionales y no funcionales
      - 🏛️ Patrones Arquitectónicos: Patrones de diseño adecuados
      - 🔧 Pila Tecnológica: Lenguaje, frameworks, bases de datos
      - 📊 Escalabilidad: Consideraciones de crecimiento y rendimiento
      - 🛡️ Seguridad: Arquitectura de seguridad y modelo de amenazas
      - 🧪 Pruebas: Estrategia de pruebas y aseguramiento de calidad

      **Entregables:**
      1. Diagrama de arquitectura de alto nivel (basado en texto)
      2. Desglose de componentes con responsabilidades
      3. Flujo de datos y definiciones de interfaz
      4. Recomendaciones tecnológicas con justificación
      5. Hoja de ruta de implementación con prioridades

      Enfócate en principios de diseño mantenibles, escalables y robustos.

  - name: "rag_query_optimization"
    description: "🧠 Optimiza consultas RAG para mejores resultados de búsqueda semántica"
    content: |
      🧠 **Optimización de Consulta RAG**

      **Consulta Actual:** {query}
      **Dominio:** {domain}

      **Estrategia de Optimización:**
      - 🎯 Mejora Semántica: Mejora la semántica de la consulta
      - 🔍 Expansión de Palabras Clave: Agrega sinónimos y términos relevantes
      - 📊 Estructuración de Consulta: Optimiza para similitud vectorial
      - 🎛️ Ajuste de Parámetros: Sugiere parámetros de búsqueda

      **Áreas de Análisis:**
      1. Intención de consulta y necesidad de información
      2. Terminología específica del dominio
      3. Patrones de similitud semántica
      4. Efectividad de recuperación de fragmentos

      **Entregables:**
      - Variaciones de consulta optimizadas
      - Recomendaciones de estrategia de búsqueda
      - Sugerencias de parámetros RAG
      - Mejoras esperadas en recuperación

      Usa herramientas RAG para probar la efectividad de la consulta si es útil.

  - name: "documentation_generator"
    description: "📚 Genera documentación completa desde código"
    content: |
      📚 **Generación de Documentación**

      **Archivo Objetivo:** {code_file}
      **Tipo de Documentación:** {doc_type}

      **Marco de Documentación:**
      - 📋 Documentación de API: Firmas de función y uso
      - 💡 Ejemplos: Ejemplos de uso prácticos
      - 🏗️ Arquitectura: Estructura de módulos y relaciones
      - 🚀 Guías de Inicio Rápido: Guías de inicio rápido
      - ⚠️ Casos Límite: Manejo de errores y limitaciones

      **Requisitos de Salida:**
      1. Descripciones claras y concisas
      2. Ejemplos de código con explicaciones
      3. Formato markdown apropiado
      4. Referencias cruzadas y enlaces
      5. Estructura de documentación mantenible

      Por favor lee el archivo de código y genera documentación apropiada.
      Incluye comentarios de documentación en línea y documentación externa según sea necesario.

  - name: "test_strategy"
    description: "🧪 Planificación de pruebas y recomendaciones de estrategia"
    content: |
      🧪 **Desarrollo de Estrategia de Pruebas**

      **Componente:** {component}
      **Tipos de Prueba:** {test_types}

      **Marco de Pruebas:**
      - 🔬 Pruebas Unitarias: Pruebas de función individual
      - 🔗 Pruebas de Integración: Pruebas de interacción de componentes
      - ⚡ Pruebas de Rendimiento: Pruebas de carga y estrés
      - 🛡️ Pruebas de Seguridad: Pruebas de vulnerabilidades y penetración
      - 👤 Aceptación de Usuario: Pruebas de flujo de trabajo de extremo a extremo

      **Entregables:**
      1. Plan de pruebas con objetivos de cobertura
      2. Especificaciones de casos de prueba
      3. Requisitos de infraestructura de pruebas
      4. Estrategia de automatización
      5. Puertas de calidad y criterios de éxito

      **Guía de Implementación:**
      - Patrones de pruebas específicos de Rust
      - Mocking y dobles de prueba
      - Configuración de integración continua

      Analiza el componente y proporciona una estrategia de pruebas completa.

  - name: "refactoring_plan"
    description: "♻️ Estrategia de refactorización sistemática con evaluación de riesgos"
    content: |
      ♻️ **Estrategia de Refactorización**

      **Código Objetivo:** {target_code}
      **Objetivos:** {goals}

      **Proceso de Refactorización:**
      - 🔍 Análisis: Evaluación del estado actual
      - 🎯 Objetivos: Objetivos claros de refactorización
      - 📋 Plan: Plan paso a paso de refactorización
      - ⚠️ Evaluación de Riesgos: Cambios potencialmente disruptivos
      - 🧪 Validación: Estrategia de pruebas para cambios

      **Consideraciones Clave:**
      1. Requisitos de compatibilidad hacia atrás
      2. Análisis de impacto en rendimiento
      3. Coordinación y comunicación del equipo
      4. Enfoque de entrega incremental
      5. Estrategias de rollback

      **Entregables:**
      - Hoja de ruta detallada de refactorización
      - Estrategias de mitigación de riesgos
      - Comparaciones antes/después del código
      - Plan de pruebas y validación

      Proporciona un enfoque seguro y sistemático para la mejora del código.

  - name: "security_audit"
    description: "🛡️ Evaluación de vulnerabilidades de seguridad y estrategias de mitigación"
    content: |
      🛡️ **Solicitud de Auditoría de Seguridad**

      **Alcance de Auditoría:** {scope}
      **Modelo de Amenazas:** {threat_model}

      **Marco de Evaluación de Seguridad:**
      - 🔒 Autenticación: Verificación de identidad
      - 🚪 Autorización: Mecanismos de control de acceso
      - 🛡️ Validación de Entrada: Saneamiento y validación de datos
      - 🔐 Criptografía: Encriptación y gestión de claves
      - 📊 Protección de Datos: Privacidad y manejo de datos
      - 🌐 Seguridad de Red: Seguridad de comunicaciones

      **Categorías de Vulnerabilidades:**
      1. Cumplimiento con OWASP Top 10
      2. Problemas de seguridad de memoria (específicos de Rust)
      3. Vulnerabilidades de dependencias
      4. Seguridad de configuración
      5. Fallos en lógica de negocio

      **Entregables:**
      - Informe de vulnerabilidades de seguridad
      - Evaluación de riesgos con niveles de severidad
      - Recomendaciones de remediación
      - Guía de mejores prácticas de seguridad

      Realiza un análisis de seguridad exhaustivo usando operaciones de archivo y herramientas de búsqueda.



resources:
  - name: "mcp_server_prompts"
    description: "Especificación de Prompts para Servidores MCP"
    path: "https://raw.githubusercontent.com/modelcontextprotocol/modelcontextprotocol/refs/heads/main/docs/specification/2024-11-05/server/prompts.mdx"

  - name: "mcp_server_tools"
    description: "Especificación de Herramientas para Servidores MCP"
    path: "https://raw.githubusercontent.com/modelcontextprotocol/modelcontextprotocol/refs/heads/main/docs/specification/2024-11-05/server/tools.mdx"

  - name: "mcp_server_resources"
    description: "Especificación de Recursos para Servidores MCP"
    path: "https://raw.githubusercontent.com/modelcontextprotocol/modelcontextprotocol/refs/heads/main/docs/specification/2024-11-05/server/resources.mdx"