Aider Executor

Expõe a execução local de comandos Aider como um processo desanexado usando MCP.

Documentação

Informações do Projeto

Servidor MCP stdio para executar aider como um processo em segundo plano independente com ferramentas básicas de git e verificações de status. Isso permite que LLMs iniciem processos de edição de código livremente e verifiquem o histórico do chat aider posteriormente para permitir comportamento de enxame agêntico.

Um arquivo .aider.mcp.details.json é criado no mesmo diretório com o ID do processo e a data/hora de início. O servidor MCP fornece ferramentas para agentes LLM verificarem se o processo ainda está em execução e verificar o .aider.chat.history.md para atualizações.

A mensagem de prompt original enviada via servidor MCP para aider também é registrada em .aider.mcp.prompt.txt.

Início Rápido

Você pode executar o servidor diretamente usando npx, passando variáveis de ambiente para a URL do endpoint e chaves de API. Forneça argumentos --whitelist com um caminho glob permitido, caso contrário, todas as operações serão negadas por padrão.

{
  "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"
      }
    }
  }
}

Instruções

Você pode instruir diretamente seu LLM a usar o Aider fornecendo um diretório para trabalhar. Por exemplo:

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

Para opções adicionais do Aider, você deve configurá-las adequadamente usando variáveis de ambiente (o env nas configurações .json do MCP), ou peça ao seu LLM para criar o arquivo de configuração YAML do Aider para você no diretório do projeto. Por padrão, o servidor vem com algumas ferramentas básicas de git e arquivos para permitir que o LLM explore. Essas ferramentas podem ser desabilitadas pelas opções abaixo se você quiser usar um servidor MCP separado para lidar com funções mais avançadas.

[!CAUTION]

Por motivos de segurança, o servidor MCP não tem a funcionalidade de escrever chaves de API no YAML de configuração. Use env em vez disso para fornecer chaves como OPENAI_API_KEY. Não conte ao seu LLM sobre isso.

Opções

Você pode adicionar estes argumentos no 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

Pré-requisitos de Ambiente

O ambiente que executa o servidor MCP deve ter as seguintes ferramentas instaladas e disponíveis como comandos executáveis no shell:

  1. node
  2. aider
  3. git

[!WARNING]

Você deve definir o número de solicitações paralelas para 2 se estiver usando o mesmo endpoint local para aider, caso contrário, sua sessão de chat e o processo aider em segundo plano ficarão esperando um pelo outro.

Você também deve definir a variável de ambiente OPENAI_API_KEY para um valor não vazio se estiver usando um endpoint local compatível com OpenAI, porque aider exige isso mesmo se você não usar uma chave de API.

Você ainda precisa do prefixo openai/ ao especificar nomes de modelos para endpoints locais em aider.

Ferramentas MCP Disponíveis

Estas são a lista de ferramentas MCP disponíveis para seu LLM chamar.

  • aider_check_git_log: Verifica commits recentes.
  • aider_check_git_status: Chama git status --short para verificar o estado do diretório fornecido.
  • aider_check_last_prompt: Retorna a mensagem de prompt original da última execução do Aider.
  • aider_check_progress: Verifica o histórico do chat do Aider e o status do processo em segundo plano.
  • aider_checkout_git_branch: Alterna branches do git, criando um novo se não existir.
  • aider_create_git_stash: Faz stash de tudo para limpar o diretório para o Aider (git stash -u).
  • aider_git_revert: Reverte alterações de um commit do git pelo seu hash.
  • aider_list_files: Lista todos os arquivos em um diretório fornecido.
  • aider_list_git_branches: Retorna uma lista de branches do git no diretório fornecido.
  • aider_mcp_check_whitelist: Verifica quais caminhos glob estão na lista de permissões para este servidor MCP do Aider.
  • aider_message_prompt: Inicia aider como um processo em segundo plano com uma mensagem de prompt fornecida.
  • aider_read_config_yaml: Retorna o conteúdo completo do .aider.conf.yml no diretório.
  • aider_read_file_contents: Lê o conteúdo de um caminho de arquivo fornecido.
  • aider_setup_config_yaml: Cria o arquivo .aider.conf.yml no diretório.