Skip to main content
Glama

Сервер Aider MCP — экспериментальный

Модель сервера контекстного протокола для передачи работы по кодированию ИИ в Aider, что повышает эффективность и гибкость разработки.

Обзор

Этот сервер позволяет Claude Code перекладывать задачи кодирования ИИ на Aider, лучший помощник кодирования ИИ с открытым исходным кодом. Делегируя определенные задачи кодирования Aider, мы можем сократить расходы, получить контроль над нашей моделью кодирования и использовать Claude Code более оркестровым способом для проверки и исправления кода.

Related MCP server: MCP Unified Server

Настраивать

  1. Клонируйте репозиторий:

git clone https://github.com/disler/aider-mcp-server.git
  1. Установить зависимости:

uv sync
  1. Создайте файл среды:

cp .env.sample .env
  1. Настройте ключи API в файле .env (или используйте раздел mcpServers "env"), чтобы получить ключ API, необходимый для модели, которую вы хотите использовать в 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. Скопируйте и заполните файл .mcp.json в корневой каталог вашего проекта и обновите --directory так, чтобы он указывал на корневой каталог этого проекта, а --current-working-dir — на корневой каталог вашего проекта.

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

Тестирование

Тесты запущены с gemini-2.5-pro-exp-03-25

Чтобы запустить все тесты:

uv run pytest

Для проведения определенных тестов:

# 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

Примечание: Тесты кодирования AI требуют действительный ключ API для модели Gemini. Обязательно установите его в файле .env перед запуском тестов.

Добавьте этот MCP-сервер в Claude Code

Добавить с 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>"

Добавить с 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>"

Добавить с 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>"

Добавить с 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>"

Использование

Этот сервер MCP обеспечивает следующие функции:

  1. Передача задач по кодированию ИИ в Aider :

    • Принимает приглашение и пути к файлам

    • Использует Aider для внедрения запрошенных изменений

    • Возвращает успех или неудачу

  2. Список доступных моделей :

    • Предоставляет список моделей, соответствующих подстроке

    • Полезно для поиска поддерживаемых моделей.

Доступные инструменты

Этот сервер MCP предоставляет следующие инструменты:

1. aider_ai_code

Этот инструмент позволяет запускать Aider для выполнения задач кодирования ИИ на основе предоставленной подсказки и указанных файлов.

Параметры:

  • ai_coding_prompt (строка, обязательно): инструкция на естественном языке для задачи кодирования ИИ.

  • relative_editable_files (список строк, обязательно): Список путей к файлам (относительно current_working_dir ), которые Aider разрешено изменять. Если файл не существует, он будет создан.

  • relative_readonly_files (список строк, необязательно): Список путей к файлам (относительно current_working_dir ), которые Aider может читать для контекста, но не может изменять. По умолчанию пустой список [] .

  • model (строка, необязательно): Основная модель ИИ, которую Aider должен использовать для генерации кода. По умолчанию "gemini/gemini-2.5-pro-exp-03-25" . Вы можете использовать инструмент list_models для поиска других доступных моделей.

  • editor_model (string, необязательно): Модель ИИ, которую Aider должен использовать для редактирования/уточнения кода, особенно при использовании режима архитектора. Если не указано, может использоваться основная model в зависимости от внутренней логики Aider. По умолчанию None .

Пример использования (в запросе MCP):

Клод Код Подсказка:

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

Результат:

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

Возврат:

  • Простой словарь: {success, diff}

    • success : boolean — Была ли операция успешной.

    • diff : string — разница изменений, внесенных в файл.

2. list_models

Этот инструмент выводит список доступных моделей ИИ, поддерживаемых Aider, которые соответствуют заданной подстроке.

Параметры:

  • substring (строка, обязательно): подстрока для поиска в именах доступных моделей.

Пример использования (в запросе MCP):

Клод Код Подсказка:

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

Результат:

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

Возврат:

  • Список строк названий моделей, соответствующих указанной подстроке. Пример: ["gemini/gemini-1.5-flash", "gemini/gemini-1.5-pro", "gemini/gemini-pro"]

Архитектура

Сервер имеет следующую структуру:

  • Уровень сервера : обрабатывает связь по протоколу MCP.

  • Слой атомов : отдельные, чисто функциональные компоненты

    • Инструменты : специальные возможности (кодирование ИИ, листинг моделей)

    • Utils : Константы и вспомогательные функции

    • Типы данных : определения типов с использованием Pydantic

Все компоненты тщательно проверяются на надежность.

Структура кодовой базы

Проект состоит из следующих основных каталогов и файлов:

. ├── 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 : Содержит основной код приложения.

    • atoms : Содержат фундаментальные строительные блоки. Они разработаны как чистые функции или простые классы с минимальными зависимостями.

      • tools : Каждый файл здесь реализует основную логику для определенного инструмента MCP ( aider_ai_code , list_models ).

      • utils.py : Содержит общие константы, такие как имена моделей по умолчанию.

      • data_types.py : определяет модели Pydantic для структур запросов/ответов, обеспечивая проверку данных.

      • logging.py : Устанавливает единый формат ведения журнала для вывода на консоль и в файл.

    • server.py : Оркеструет сервер MCP. Он инициализирует сервер, регистрирует инструменты, определенные в каталоге atoms/tools , обрабатывает входящие запросы, направляет их в соответствующую логику инструментов и отправляет ответы в соответствии с протоколом MCP.

    • __main__.py : предоставляет точку входа интерфейса командной строки ( aider-mcp-server ), анализируя аргументы, такие как --editor-model , и запуская сервер, определенный в server.py .

    • tests : Содержит тесты, отражающие структуру каталога src , гарантируя, что каждый компонент (особенно атомы) работает так, как ожидается.

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

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/disler/aider-mcp-server'

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