MCP Start App

Un servidor MCP para la gestión de archivos locales y operaciones del sistema.

Documentación

MCP Start App

Un servidor integral del Protocolo de Contexto de Modelos (MCP) para la gestión avanzada de archivos locales y operaciones del sistema.

Características

🗂️ Operaciones de Archivos

  • Leer/Escribir Archivos: Soporte completo para operaciones con archivos de texto, incluido el manejo de codificación
  • Listar Directorios: Explora el sistema de archivos con información de tamaño y soporte para archivos ocultos
  • Información de Archivos: Metadatos detallados, incluidos permisos, marcas de tiempo y tamaño
  • Validación de Rutas: Manejo robusto de rutas con comprobaciones de seguridad

✏️ Edición Avanzada de Archivos

  • Edición por Líneas: Edita, inserta o elimina líneas específicas en archivos
  • Buscar y Reemplazar: Reemplazo de texto con soporte de expresiones regulares en múltiples archivos
  • Vista de Diferencias: Compara archivos actuales con copias de seguridad
  • Historial de Ediciones: Realiza un seguimiento de todas las modificaciones de archivos con registros detallados

🔍 Capacidades Avanzadas de Búsqueda

  • Búsqueda estilo VSCode: Búsqueda avanzada en múltiples archivos con contexto
  • Filtrado por Tipo de Archivo: Búsqueda por grupos de extensiones (código, web, configuración, etc.)
  • Coincidencia de Patrones: Soporte para comodines y expresiones regulares
  • Visualización de Contexto: Muestra líneas circundantes para los resultados de búsqueda
  • Búsqueda por Nombre de Archivo: Encuentra archivos por patrones de nombre
  • Estadísticas de Búsqueda: Analiza la distribución y los tamaños de los archivos

💻 Operaciones del Sistema

  • Ejecución de Comandos: Ejecución segura de comandos del sistema
  • Información del Sistema: Detalles de hardware y software
  • Gestión de Procesos: Visualiza los procesos en ejecución
  • Búsqueda de Archivos: Descubrimiento avanzado de archivos con patrones

🔧 Herramientas de Código

  • Validación de Sintaxis: Comprueba la sintaxis de Python, JavaScript, JSON, etc.
  • Formato de Código: Formatea el código usando formateadores estándar (Black, Prettier)
  • Detección de Lenguajes: Detecta automáticamente los lenguajes de programación

🔄 Copias de Seguridad e Historial

  • Copias de Seguridad Automáticas: Los archivos se respaldan antes de las modificaciones
  • Seguimiento de Ediciones: Historial completo de todas las operaciones con archivos
  • Restauración: Restauración fácil desde copias de seguridad
  • Análisis del Historial: Estadísticas e información sobre los patrones de edición

🛡️ Seguridad y Protección

  • Validación de Rutas: Previene ataques de recorrido de directorios
  • Límites de Tamaño de Archivos: Límites configurables para prevenir problemas de memoria
  • Filtrado de Comandos: Restringe la ejecución de comandos peligrosos
  • Sistema de Copias de Seguridad: Copia de seguridad automática antes de operaciones destructivas

Inicio Rápido

1. Instalación

# Clone or navigate to the project
cd /Users/{{USERNAME}}/Documents/mcp-start-app

# Run the installation script (sets up venv and installs everything)
./scripts/install.sh

2. Activación

# Activate the virtual environment
source venv/bin/activate

# Run the server
mcp-start-app

3. Métodos Alternativos de Ejecución

# Using the run script (auto-activates venv)
./scripts/run_server.py

# Direct Python execution
source venv/bin/activate
python -m mcp_start_app.main

Configuración

Configuración de Claude Desktop

Añade a tu archivo de configuración de Claude Desktop:

{
  "mcpServers": {
    "mcp-start-app": {
      "command": "/Users/{{USERNAME}}/Documents/mcp-start-app/scripts/run_server.py",
      "args": []
    }
  }
}

Herramientas Disponibles

Operaciones Básicas de Archivos

  • list_files(directory, show_hidden) - Lista el contenido del directorio
  • read_file(file_path) - Lee el contenido de archivos de texto
  • write_file(file_path, content) - Escribe contenido en un archivo
  • get_file_lines(file_path, start_line, end_line) - Obtiene líneas específicas
  • get_file_info(file_path) - Obtiene información detallada del archivo

Edición Avanzada de Archivos

  • edit_file_lines(file_path, start_line, new_content, end_line) - Edita líneas específicas
  • insert_lines(file_path, line_number, content) - Inserta nuevas líneas
  • delete_lines(file_path, start_line, end_line) - Elimina líneas
  • replace_in_file(file_path, search_pattern, replace_with, use_regex) - Buscar y reemplazar
  • get_file_diff(file_path, backup_file) - Muestra diferencias de archivos
  • get_edit_history(limit, file_path) - Visualiza el historial de ediciones

Herramientas Avanzadas de Búsqueda

  • search_adv(search_term, search_path, case_sensitive, whole_word, use_regex, include_patterns, exclude_patterns, file_types, max_results, context_lines, show_hidden) - Búsqueda avanzada en múltiples archivos
  • replace_adv(search_term, replace_with, search_path, case_sensitive, whole_word, use_regex, include_patterns, exclude_patterns, file_types, dry_run, backup) - Reemplazo avanzado en múltiples archivos
  • search_files_by_name(filename_pattern, search_path, case_sensitive, exact_match, show_hidden, exclude_patterns) - Busca archivos por nombre
  • search_in_files(search_pattern, directory, file_pattern, use_regex) - Búsqueda de texto simple
  • get_search_stats(search_path) - Obtiene estadísticas del directorio

Herramientas del Sistema

  • run_command(command) - Ejecuta comandos del sistema (con restricciones de seguridad)
  • get_system_info() - Obtiene información completa del sistema
  • find_files(pattern, directory, max_results) - Encuentra archivos por patrón
  • get_running_processes() - Visualiza los procesos en ejecución

Herramientas de Código

  • validate_syntax(file_path) - Comprueba la sintaxis del código
  • format_code(file_path, language) - Formatea archivos de código

Herramientas de Datos

  • get_local_data(query) - Consultas de datos locales

Estructura del Proyecto

mcp-start-app/
├── 📁 venv/                        # Virtual environment
├── 📁 src/mcp_local/               # Main package
│   ├── 📁 core/                    # Core utilities & config
│   ├── 📁 services/                # Business logic layer
│   ├── 📁 tools/                   # MCP tool implementations
│   │   ├── file_operations.py      # Basic file tools
│   │   ├── file_editing.py         # Advanced editing tools
│   │   ├── search_tools.py         # Search and replace tools
│   │   ├── system_tools.py         # System operation tools
│   │   └── code_tools.py           # Code formatting and validation
│   ├── main.py                     # Entry point
│   └── server.py                   # Server configuration
├── 📁 tests/                       # Test suite
├── 📁 scripts/                     # Installation & run scripts
├── requirements.txt                # Dependencies
├── pyproject.toml                  # Python packaging
└── README.md                       # This file

Desarrollo

Ejecución de Pruebas

source venv/bin/activate
pytest                    # Run all tests
pytest --cov             # Run with coverage

Calidad del Código

source venv/bin/activate
black src/ tests/         # Format code
isort src/ tests/         # Sort imports  
flake8 src/ tests/        # Lint code
mypy src/                 # Type checking

Licencia

Este proyecto está licenciado bajo la Licencia MIT.