Skip to main content

MCP Code Editor

Un servidor MCP (Model Context Protocol) avanzado que proporciona herramientas de edición de código inteligentes con análisis AST, gestión de proyectos e integración de consola interactiva.

🚀 Características Principales

🔧 Gestión de Proyectos

  • Análisis automático de estructura de proyecto con indexación AST
  • Filtrado inteligente de archivos respetando .gitignore
  • Caché de configuración para operaciones rápidas
  • Detección automática de tipo de proyecto (Python, JavaScript, etc.)

🔍 Análisis de Código AST

  • Búsqueda de definiciones y ubicaciones de uso
  • Análisis de dependencias entre funciones y clases
  • Detección de cambios estructurales que pueden romper el código
  • Métricas de código automáticas (conteo de funciones, clases, imports)

✏️ Edición Inteligente de Archivos

  • Modificaciones precisas con sistema diff avanzado
  • Protección contra cambios críticos con análisis de impacto
  • Creación y eliminación de archivos con respaldo automático
  • Lectura con números de línea y metadatos AST

📚 Integración de Librerías

  • Indexación de librerías externas (pandas, numpy, requests, etc.)
  • Búsqueda en librerías indexadas para autocompletado
  • Análisis de compatibilidad entre librerías

🖥️ Consola Interactiva

  • Procesos de consola inteligentes (Python, Node.js, CMD)
  • Detección automática de prompts vs procesos en segundo plano
  • Gestión de múltiples procesos simultáneos
  • Captura de salida con filtrado por tipo

📦 Instalación

pip install mcp-code-editor

⚙️ Configuración MCP Client

Agrega la siguiente configuración a tu cliente MCP:

Claude Desktop

Edita el archivo de configuración:

  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-code-editor": {
      "command": "mcp-code-editor",
      "args": [],
      "env": {}
    }
  }
}

Otros Clientes MCP

{
  "servers": {
    "mcp-code-editor": {
      "command": "mcp-code-editor",
      "args": [],
      "cwd": "/ruta/a/tu/proyecto"
    }
  }
}

🛠️ Herramientas Disponibles

Gestión de Proyectos

setup_code_editor

Analiza la estructura del proyecto y construye el índice AST.

setup_code_editor(
    path="/ruta/al/proyecto",
    analyze_ast=True
)

project_files

Obtiene archivos del proyecto con filtros opcionales.

project_files(
    filter_extensions=[".py", ".js"],
    max_depth=3,
    format_as_tree=True
)

Análisis de Código

get_code_definition

Busca definiciones y ubicaciones de uso de cualquier identificador.

get_code_definition(
    identifier="function_name",
    definition_type="function",
    include_usage=True
)

read_file_with_lines

Lee archivos con números de línea y metadatos AST para Python.

read_file_with_lines(
    path="archivo.py",
    start_line=10,
    end_line=50
)

Edición de Archivos

apply_diff_tool

Aplica modificaciones precisas con análisis de dependencias automático.

apply_diff_tool(
    path="archivo.py",
    blocks=[
        {
            "start_line": 15,
            "end_line": 17,
            "search_content": "def old_function():",
            "replace_content": "def new_function():"
        }
    ],
    force=False
)

create_file_tool

Crea nuevos archivos con contenido.

create_file_tool(
    path="nuevo_archivo.py",
    content="print('Hello World')",
    overwrite=False
)

delete_file_tool

Elimina archivos con opción de respaldo.

delete_file_tool(
    path="archivo_obsoleto.py",
    create_backup=True
)

Integración de Librerías

index_library_tool

Indexa librerías externas para análisis.

index_library_tool(
    library_name="pandas",
    include_private=False
)

search_library_tool

Busca definiciones en librerías indexadas.

search_library_tool(
    library_name="pandas",
    query="DataFrame",
    definition_type="class"
)

list_indexed_libraries_tool

Lista todas las librerías indexadas.

list_indexed_libraries_tool()

Consola Interactiva

start_console_process_tool

Inicia procesos de consola interactivos.

start_console_process_tool(
    command="python -u -i",
    working_dir="/ruta/al/proyecto",
    name="python_session"
)

send_to_console_tool

Envía entrada a procesos de consola con detección inteligente.

send_to_console_tool(
    process_id="process_id",
    input_text="print('Hello')",
    wait_for_response=True,
    force_send=False
)

check_console_tool

Obtiene instantánea de salida de consola.

check_console_tool(
    process_id="process_id",
    wait_seconds=2,
    lines=50,
    filter_type="stdout"
)

list_console_processes_tool

Lista procesos de consola activos.

list_console_processes_tool(
    include_terminated=False,
    summary_only=True
)

terminate_console_process_tool

Termina procesos de consola.

terminate_console_process_tool(
    process_id="process_id",
    force=False,
    timeout=10
)

🔐 Características de Seguridad

Protección Inteligente

  • Análisis de impacto antes de modificaciones críticas
  • Bloqueo automático de cambios que pueden romper múltiples archivos
  • Advertencias de dependencias y archivos afectados
  • Sugerencias de revisión basadas en el análisis AST

Detección de Entrada Inteligente

  • Prevención automática de envío de comandos a procesos en segundo plano
  • Detección de prompts vs procesos ejecutándose
  • Modo force para señales de control (Ctrl+C)

💡 Casos de Uso

Desarrollo Automatizado

1. Configurar proyecto: setup_code_editor
2. Analizar estructura: project_files
3. Buscar función: get_code_definition
4. Modificar código: apply_diff_tool
5. Probar cambios: start_console_process_tool

Refactoring Inteligente

1. Encontrar todas las ubicaciones: get_code_definition
2. Analizar dependencias: apply_diff_tool (sin force)
3. Revisar impacto: analizar warnings
4. Aplicar cambios: apply_diff_tool (con force si necesario)

Exploración de Código

1. Indexar librerías: index_library_tool
2. Buscar en librerías: search_library_tool
3. Leer código con contexto: read_file_with_lines
4. Analizar dependencias: get_code_definition

🐛 Mejores Prácticas

Comandos de Consola Recomendados

  • Python: python -u -i (modo unbuffered + interactivo)
  • Node.js: node (REPL por defecto)
  • Windows CMD: cmd
  • PowerShell: powershell
  • Bash: bash

Workflow de Edición Segura

  1. Siempre usar apply_diff_tool sin force=True primero
  2. Revisar warnings y análisis de dependencias
  3. Solo usar force=True cuando estés seguro
  4. Usar get_code_definition para entender el impacto

Gestión de Procesos

  • Usar check_console_tool con wait_seconds apropiado
  • Verificar estado con list_console_processes_tool
  • Limpiar procesos terminados con cleanup_terminated_processes_tool

📚 Documentación Adicional

🤝 Contribuciones

Las contribuciones son bienvenidas. Por favor:

  1. Fork el repositorio
  2. Crea una rama para tu feature
  3. Añade tests si es necesario
  4. Envía un Pull Request

📄 Licencia

MIT License - ver archivo LICENSE para detalles.

🔗 Enlaces

Metadata

Release files for mcp-code-editor 0.1.24

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-code-editor 0.1.24
File Size Uploaded
mcp_code_editor-0.1.24.tar.gz 62.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-code-editor 0.1.24
File Interpreter ABI Platform
mcp_code_editor-0.1.24-py3-none-any.whl Python 3 none any Details

Total release size: 128.6 kB

Release files / mcp_code_editor-0.1.24.tar.gz

Download URL mcp_code_editor-0.1.24.tar.gz
Size 62.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4a14fed037bfee7f4f7042045b5cb85906323efec5a4a8af5a79d41c03b515eb
BLAKE2b-256 checksum
How to use checksums
933baa61ab2b4415614000c9d594dfa50a28b9c98c7227b4ba860c7a0f00e33c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / mcp_code_editor-0.1.24-py3-none-any.whl

Download URL mcp_code_editor-0.1.24-py3-none-any.whl
Size 66.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
84ed22feb9d149548916680fab7a1c548559d21fcbf666c9cfb94df2c17f203b
BLAKE2b-256 checksum
How to use checksums
e6a4093b06afb51be9b604f183614eba31a1c7ab5e78bb1d3be0f59d0b1c0364
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.24 This release

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page