Aider Executor

Expone la ejecución local de comandos de Aider como un proceso separado usando MCP.

Documentación

Información del Proyecto

Servidor MCP stdio para ejecutar aider como un proceso en segundo plano independiente con herramientas básicas de git y comprobaciones de estado. Esto permite que los LLM inicien procesos de edición de código libremente y consulten el historial de chat de aider más tarde para comprobar el progreso, lo que permite un comportamiento de enjambre agéntico.

Se crea un archivo .aider.mcp.details.json en el mismo directorio con el ID del proceso y la fecha y hora de inicio. El servidor MCP proporciona herramientas para que los agentes LLM comprueben si el proceso sigue en ejecución y consulten .aider.chat.history.md para ver actualizaciones.

El mensaje de solicitud original enviado a través del servidor MCP a aider también se registra en .aider.mcp.prompt.txt.

Inicio Rápido

Puedes ejecutar el servidor directamente usando npx, pasando variables de entorno para la URL del endpoint y las claves de API. Proporciona argumentos --whitelist con una ruta glob permitida; de lo contrario, todas las operaciones serán denegadas por defecto.

{
  "mcpServers": {
    "mcp-aider-executor": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-aider-executor",
        "--whitelist",
        "/home/user/my-project/**",
        "--whitelist",
        "/local/my-application/**"
      ],
      "env": {
        "AIDER_MODEL": "openai/gemma-4-E4B-it-IQ4_XS",
        "OPENAI_API_BASE": "http://127.0.0.1:1337/v1",
        "OPENAI_API_KEY": "your-key-here"
      }
    }
  }
}

Indicaciones

Puedes indicar directamente a tu LLM que use Aider proporcionándole un directorio en el que trabajar. Por ejemplo:

Use Aider to create a simple Python hello world console application in "/home/my-project"

Para opciones adicionales de Aider, debes configurarlas correctamente usando variables de entorno (el env en la configuración .json de MCP), o pedirle a tu LLM que cree el archivo de configuración YAML de Aider en el directorio del proyecto. Por defecto, el servidor incluye algunas herramientas básicas de git y de archivos para permitir que el LLM explore. Estas herramientas se pueden desactivar mediante las opciones siguientes si deseas usar un servidor MCP separado para manejar funciones más avanzadas.

[!CAUTION]

Por motivos de seguridad, el servidor MCP no tiene la funcionalidad de escribir claves de API en el YAML de configuración. Usa env en su lugar para proporcionar claves como OPENAI_API_KEY. No le cuentes a tu LLM sobre esto.

Opciones

Puedes añadir estos argumentos en el comando npx.

-h, --help                     Display this message
--model <model>                Default LLM main model override (i.e. always use this model no matter what)
--edit-format <format>         Main model edit format override, regardless of config or LLM inference
--architect                    Always run in architect mode (--no-architect for never)
--editor-model <model>         Default secondary editor model override for architect mode
--editor-edit-format <format>  Editor model's edit format override
--no-add-message-notes         Disables the adding of aider-specific notes to message prompts
--no-register-git-tools        Disables registration of all git tools for this server
--no-allow-git-edits           Disables only the git tools which modify the repo history
--no-register-file-tools       Disables registration of wide file access tools for this server
--whitelist <path>             Only allow operations within the glob path

Requisitos del Entorno

El entorno que ejecuta el servidor MCP debe tener las siguientes herramientas instaladas y disponibles como comandos ejecutables en el shell:

  1. node
  2. aider
  3. git

[!WARNING]

Debes establecer el número de solicitudes paralelas en 2 si estás usando el mismo endpoint local para aider; de lo contrario, tu sesión de chat y el proceso en segundo plano de aider quedarán bloqueados esperándose mutuamente.

También debes establecer la variable de entorno OPENAI_API_KEY a un valor no vacío si estás usando un endpoint local compatible con OpenAI, porque aider lo requiere incluso si no usas una clave de API.

Aún necesitas el prefijo openai/ al especificar nombres de modelos para endpoints locales en aider.

Herramientas MCP Disponibles

Esta es la lista de herramientas MCP disponibles para que tu LLM las llame.

  • aider_check_git_log: Comprueba los commits recientes.
  • aider_check_git_status: Llama a git status --short para comprobar el estado del directorio dado.
  • aider_check_last_prompt: Devuelve el mensaje de solicitud original de la última ejecución de Aider.
  • aider_check_progress: Comprueba el historial de chat de Aider y el estado del proceso en segundo plano.
  • aider_checkout_git_branch: Cambia de rama git, creando una nueva si no existe.
  • aider_create_git_stash: Guarda todo en stash para limpiar el directorio para Aider (git stash -u).
  • aider_git_revert: Revierte los cambios de un commit de git por su hash.
  • aider_list_files: Lista todos los archivos en un directorio dado.
  • aider_list_git_branches: Devuelve una lista de ramas git en el directorio dado.
  • aider_mcp_check_whitelist: Comprueba qué rutas glob están en la lista blanca para este servidor MCP de Aider.
  • aider_message_prompt: Inicia aider como un proceso en segundo plano con un mensaje de solicitud dado.
  • aider_read_config_yaml: Devuelve el contenido completo del .aider.conf.yml en el directorio.
  • aider_read_file_contents: Lee el contenido de una ruta de archivo dada.
  • aider_setup_config_yaml: Crea el archivo .aider.conf.yml en el directorio.