Skip to main content
Glama

MCP Code Editor

by alejoair

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

  • PyPI: https://pypi.org/project/mcp-code-editor/
  • GitHub: https://github.com/alejoair/mcp-code-editor
  • Documentación: https://alejoair.github.io/mcp-code-editor/
  • Issues: https://github.com/alejoair/mcp-code-editor/issues

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    TypeScript-based MCP server designed to enhance code editing experiences by providing features such as hover information, code completion, and diagnostics.
    Last updated -
    3
    13
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    FastMCP is a comprehensive MCP server allowing secure and standardized data and functionality exposure to LLM applications, offering resources, tools, and prompt management for efficient LLM interactions.
    Last updated -
    3
    Python
    MIT License
  • -
    security
    A
    license
    -
    quality
    A TypeScript-based MCP server that provides tools for making precise line-based edits to text files within allowed directories.
    Last updated -
    18
    TypeScript
    MIT License
    • Apple
  • A
    security
    A
    license
    A
    quality
    An MCP server that provides tools for reading, writing, and editing files on the local filesystem.
    Last updated -
    1
    1,387
    Python
    Apache 2.0
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alejoair/mcp-code-editor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server