Сервер Aider MCP — экспериментальный
Модель сервера контекстного протокола для передачи работы по кодированию ИИ в Aider, что повышает эффективность и гибкость разработки.
Обзор
Этот сервер позволяет Claude Code перекладывать задачи кодирования ИИ на Aider, лучший помощник кодирования ИИ с открытым исходным кодом. Делегируя определенные задачи кодирования Aider, мы можем сократить расходы, получить контроль над нашей моделью кодирования и использовать Claude Code более оркестровым способом для проверки и исправления кода.
Related MCP server: Ollama MCP Server
Настраивать
Клонируйте репозиторий:
git clone https://github.com/disler/aider-mcp-server.gitУстановить зависимости:
uv syncСоздайте файл среды:
cp .env.sample .envНастройте ключи 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Скопируйте и заполните файл
.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 обеспечивает следующие функции:
Передача задач по кодированию ИИ в Aider :
Принимает приглашение и пути к файлам
Использует Aider для внедрения запрошенных изменений
Возвращает успех или неудачу
Список доступных моделей :
Предоставляет список моделей, соответствующих подстроке
Полезно для поиска поддерживаемых моделей.
Доступные инструменты
Этот сервер 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 toolsrc/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, гарантируя, что каждый компонент (особенно атомы) работает так, как ожидается.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
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
