Aider MCP Server

Servidor Aider MCP - Experimental

Servidor de protocolo de contexto de modelo para descargar el trabajo de codificación de IA a Aider, mejorando la eficiencia y la flexibilidad del desarrollo.

Descripción general

Este servidor permite a Claude Code delegar las tareas de codificación de IA a Aider, el mejor asistente de codificación de IA de código abierto. Al delegar ciertas tareas de codificación a Aider, podemos reducir costos, controlar nuestro modelo de codificación y operar Claude Code de forma más orquestada para revisar y corregir el código.

Configuración

  1. Clonar el repositorio:
git clone https://github.com/disler/aider-mcp-server.git
  1. Instalar dependencias:
uv sync
  1. Crea tu archivo de entorno:
cp .env.sample .env
  1. Configure sus claves API en el archivo .env (o use la sección "env" de mcpServers) para tener la clave API necesaria para el modelo que desea usar en aider:
GEMINI_API_KEY=your_gemini_api_key_here OPENAI_API_KEY=your_openai_api_key_here ANTHROPIC_API_KEY=your_anthropic_api_key_here ...see .env.sample for more
  1. Copie y complete el .mcp.json en la raíz de su proyecto y actualice --directory para apuntar al directorio raíz de este proyecto y --current-working-dir para apuntar a la raíz de su proyecto.
{ "mcpServers": { "aider-mcp-server": { "type": "stdio", "command": "uv", "args": [ "--directory", "<path to this project>", "run", "aider-mcp-server", "--editor-model", "gpt-4o", "--current-working-dir", "<path to your project>" ], "env": { "GEMINI_API_KEY": "<your gemini api key>", "OPENAI_API_KEY": "<your openai api key>", "ANTHROPIC_API_KEY": "<your anthropic api key>", ...see .env.sample for more } } } }

Pruebas

Pruebas realizadas con gemini-2.5-pro-exp-03-25

Para ejecutar todas las pruebas:

uv run pytest

Para ejecutar pruebas específicas:

# Test listing models uv run pytest src/aider_mcp_server/tests/atoms/tools/test_aider_list_models.py # Test AI coding uv run pytest src/aider_mcp_server/tests/atoms/tools/test_aider_ai_code.py

Nota: Las pruebas de codificación de IA requieren una clave API válida para el modelo Gemini. Asegúrese de configurarla en su archivo .env antes de ejecutar las pruebas.

Agregue este servidor MCP a Claude Code

Agregar con gemini-2.5-pro-exp-03-25

claude mcp add aider-mcp-server -s local \ -- \ uv --directory "<path to the aider mcp server project>" \ run aider-mcp-server \ --editor-model "gemini/gemini-2.5-pro-exp-03-25" \ --current-working-dir "<path to your project>"

Añadir con gemini-2.5-pro-preview-03-25

claude mcp add aider-mcp-server -s local \ -- \ uv --directory "<path to the aider mcp server project>" \ run aider-mcp-server \ --editor-model "gemini/gemini-2.5-pro-preview-03-25" \ --current-working-dir "<path to your project>"

Añadir con quasar-alpha

claude mcp add aider-mcp-server -s local \ -- \ uv --directory "<path to the aider mcp server project>" \ run aider-mcp-server \ --editor-model "openrouter/openrouter/quasar-alpha" \ --current-working-dir "<path to your project>"

Agregar con llama4-maverick-instruct-basic

claude mcp add aider-mcp-server -s local \ -- \ uv --directory "<path to the aider mcp server project>" \ run aider-mcp-server \ --editor-model "fireworks_ai/accounts/fireworks/models/llama4-maverick-instruct-basic" \ --current-working-dir "<path to your project>"

Uso

Este servidor MCP proporciona las siguientes funcionalidades:

  1. Delegar tareas de codificación de IA a Aider :
    • Toma un aviso y rutas de archivos
    • Utiliza Aider para implementar los cambios solicitados
    • Devuelve el éxito o el fracaso
  2. Lista de modelos disponibles :
    • Proporciona una lista de modelos que coinciden con una subcadena
    • Útil para descubrir modelos compatibles

Herramientas disponibles

Este servidor MCP expone las siguientes herramientas:

1. aider_ai_code

Esta herramienta le permite ejecutar Aider para realizar tareas de codificación de IA según una solicitud proporcionada y archivos específicos.

Parámetros:

  • ai_coding_prompt (cadena, obligatoria): la instrucción en lenguaje natural para la tarea de codificación de IA.
  • relative_editable_files (lista de cadenas, obligatoria): Una lista de rutas de archivo (relativas al current_working_dir ) que Aider puede modificar. Si un archivo no existe, se creará.
  • relative_readonly_files (lista de cadenas, opcional): Una lista de rutas de archivo (relativas al current_working_dir ) que Aider puede leer para contexto, pero no modificar. El valor predeterminado es una lista vacía [] .
  • model (cadena, opcional): El modelo de IA principal que Aider debe usar para generar código. El valor predeterminado es "gemini/gemini-2.5-pro-exp-03-25" . Puede usar la herramienta list_models para encontrar otros modelos disponibles.
  • editor_model (cadena, opcional): El modelo de IA que Aider debe usar para editar/refinar el código, especialmente al usar el modo arquitecto. Si no se proporciona, se podría usar el model principal según la lógica interna de Aider. El valor predeterminado es None .

Ejemplo de uso (dentro de una solicitud MCP):

Indicación de Claude Code:

Use the Aider AI Code tool to: Refactor the calculate_sum function in calculator.py to handle potential TypeError exceptions.

Resultado:

{ "name": "aider_ai_code", "parameters": { "ai_coding_prompt": "Refactor the calculate_sum function in calculator.py to handle potential TypeError exceptions.", "relative_editable_files": ["src/calculator.py"], "relative_readonly_files": ["docs/requirements.txt"], "model": "openai/gpt-4o" } }

Devoluciones:

  • Un diccionario simple: {éxito, diferencia}
    • success : booleano - Si la operación fue exitosa.
    • diff : string - La diferencia de los cambios realizados en el archivo.

2. list_models

Esta herramienta enumera los modelos de IA disponibles compatibles con Aider que coinciden con una subcadena determinada.

Parámetros:

  • substring (cadena, obligatoria): la subcadena que se buscará dentro de los nombres de los modelos disponibles.

Ejemplo de uso (dentro de una solicitud MCP):

Indicación de Claude Code:

Use the Aider List Models tool to: List models that contain the substring "gemini".

Resultado:

{ "name": "list_models", "parameters": { "substring": "gemini" } }

Devoluciones:

  • Una lista de cadenas de nombres de modelos que coinciden con la subcadena proporcionada. Ejemplo: ["gemini/gemini-1.5-flash", "gemini/gemini-1.5-pro", "gemini/gemini-pro"]

Arquitectura

El servidor está estructurado de la siguiente manera:

  • Capa de servidor : maneja la comunicación del protocolo MCP
  • Capa de átomos : Componentes funcionales individuales y puros
    • Herramientas : Capacidades específicas (codificación de IA, modelos de listado)
    • Utilidades : Constantes y funciones auxiliares
    • Tipos de datos : definiciones de tipos utilizando Pydantic

Todos los componentes se prueban exhaustivamente para garantizar su confiabilidad.

Estructura del código base

El proyecto está organizado en los siguientes directorios y archivos principales:

. ├── ai_docs # Documentation related to AI models and examples │ ├── just-prompt-example-mcp-server.xml │ └── programmable-aider-documentation.md ├── pyproject.toml # Project metadata and dependencies ├── README.md # This file ├── specs # Specification documents │ └── init-aider-mcp-exp.md ├── src # Source code directory │ └── aider_mcp_server # Main package for the server │ ├── __init__.py # Package initializer │ ├── __main__.py # Main entry point for the server executable │ ├── atoms # Core, reusable components (pure functions) │ │ ├── __init__.py │ │ ├── data_types.py # Pydantic models for data structures │ │ ├── logging.py # Custom logging setup │ │ ├── tools # Individual tool implementations │ │ │ ├── __init__.py │ │ │ ├── aider_ai_code.py # Logic for the aider_ai_code tool │ │ │ └── aider_list_models.py # Logic for the list_models tool │ │ └── utils.py # Utility functions and constants (like default models) │ ├── server.py # MCP server logic, tool registration, request handling │ └── tests # Unit and integration tests │ ├── __init__.py │ └── atoms # Tests for the atoms layer │ ├── __init__.py │ ├── test_logging.py # Tests for logging │ └── tools # Tests for the tools │ ├── __init__.py │ ├── test_aider_ai_code.py # Tests for AI coding tool │ └── test_aider_list_models.py # Tests for model listing tool
  • src/aider_mcp_server : contiene el código de la aplicación principal.
    • atoms : Contienen los componentes fundamentales. Están diseñados para ser funciones puras o clases simples con mínimas dependencias.
      • tools : cada archivo aquí implementa la lógica central para una herramienta MCP específica ( aider_ai_code , list_models ).
      • utils.py : contiene constantes compartidas como nombres de modelos predeterminados.
      • data_types.py : define modelos de Pydantic para estructuras de solicitud/respuesta, lo que garantiza la validación de datos.
      • logging.py : configura un formato de registro consistente para la consola y la salida de archivo.
    • server.py : Orquesta el servidor MCP. Inicializa el servidor, registra las herramientas definidas en el directorio atoms/tools , gestiona las solicitudes entrantes, las enruta a la lógica de herramientas adecuada y envía respuestas según el protocolo MCP.
    • __main__.py : proporciona el punto de entrada de la interfaz de línea de comandos ( aider-mcp-server ), analiza argumentos como --editor-model e inicia el servidor definido en server.py .
    • tests : contiene pruebas que reflejan la estructura del directorio src , lo que garantiza que cada componente (especialmente los átomos) funcione como se espera.
-
security - not tested
-
license - not tested
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Permite a Claude Code descargar tareas de codificación de IA a Aider, lo que reduce costos y permite un mayor control sobre qué modelos manejan tareas de codificación específicas.

  1. Descripción general
    1. Configuración
      1. Pruebas
        1. Agregue este servidor MCP a Claude Code
          1. Agregar con gemini-2.5-pro-exp-03-25
          2. Añadir con gemini-2.5-pro-preview-03-25
          3. Añadir con quasar-alpha
          4. Agregar con llama4-maverick-instruct-basic
        2. Uso
          1. Herramientas disponibles
            1. 1. aider_ai_code
            2. 2. list_models
          2. Arquitectura
            1. Estructura del código base

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                Provides code manipulation, execution, and version control capabilities. It allows AI assistants to read, write, and execute code while maintaining a history of changes.
                Last updated -
                8
                Python
                MIT License
              • -
                security
                A
                license
                -
                quality
                AI-powered assistant that connects Claude to video encoding workflows, translating cryptic errors into plain English and providing actionable solutions for troubleshooting encoding jobs.
                Last updated -
                1
                Python
                MIT License
              • -
                security
                A
                license
                -
                quality
                Enables AI agents and assistants like Goose or Claude to interact with VS Code through the Model Context Protocol.
                Last updated -
                14
                TypeScript
                Apache 2.0
                • Apple
              • -
                security
                F
                license
                -
                quality
                Connects Claude AI to QGIS through the Model Context Protocol, allowing Claude to directly interact with and control QGIS for tasks like project creation, layer manipulation, and code execution.
                Last updated -
                286
                Python
                • Apple

              View all related MCP servers

              ID: k1z18se9z3