Aider MCP Server

Aider MCP 服务器 - 实验性

模型上下文协议服务器,用于将AI编码工作卸载到Aider,提高开发效率和灵活性。

概述

该服务器允许 Claude Code 将 AI 编码任务分流给最佳开源 AI 编码助手 Aider。通过将某些编码任务委托给 Aider,我们可以降低成本,更好地控制编码模型,并以更协调的方式运行 Claude Code 来审查和修改代码。

设置

  1. 克隆存储库:
git clone https://github.com/disler/aider-mcp-server.git
  1. 安装依赖项:
uv sync
  1. 创建您的环境文件:
cp .env.sample .env
  1. .env文件中配置您的 API 密钥(或使用 mcpServers 的“env”部分)以获取您想要在 aider 中使用的模型所需的 api 密钥:
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 编码测试需要 Gemini 模型的有效 API 密钥。请确保在运行测试之前将其设置在.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. 将 AI 编码任务卸载到 Aider
    • 接受提示和文件路径
    • 使用 Aider 来实现所请求的更改
    • 返回成功或失败
  2. 列出可用的模型
    • 提供与子字符串匹配的模型列表
    • 对于发现支持的模型很有用

可用工具

该 MCP 服务器公开以下工具:

1. aider_ai_code

该工具允许您运行 Aider 根据提供的提示和指定的文件执行 AI 编码任务。

参数:

  • ai_coding_prompt (字符串,必需):AI 编码任务的自然语言指令。
  • relative_editable_files (字符串列表,必需):Aider 允许修改的文件路径列表(相对于current_working_dir )。如果文件不存在,则会创建该文件。
  • relative_readonly_files (字符串列表,可选):Aider 可以读取但无法修改的文件路径列表(相对于current_working_dir )。默认为空列表[]
  • model (字符串,可选):Aider 用于生成代码的主要 AI 模型。默认为"gemini/gemini-2.5-pro-exp-03-25" 。您可以使用list_models工具查找其他可用模型。
  • editor_model (字符串,可选):Aider 用于编辑/优化代码的 AI 模型,尤其是在使用架构师模式时。如果未提供,则可能会根据 Aider 的内部逻辑使用主model 。默认为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 :字符串-对文件所做更改的差异。

2. list_models

该工具列出了与给定子字符串匹配的 Aider 支持的可用 AI 模型。

参数:

  • 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 协议通信
  • 原子层:独立的、纯功能组件
    • 工具:特定功能(AI编码、列表模型)
    • 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_codelist_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
-
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.

允许 Claude Code 将 AI 编码任务卸载到 Aider,从而降低成本并更好地控制哪些模型处理特定的编码任务。

  1. 概述
    1. 设置
      1. 测试
        1. 将此 MCP 服务器添加到 Claude Code
          1. 添加gemini-2.5-pro-exp-03-25
          2. 添加gemini-2.5-pro-preview-03-25
          3. 添加quasar-alpha
          4. 使用llama4-maverick-instruct-basic添加
        2. 用法
          1. 可用工具
            1. 1. aider_ai_code
            2. 2. list_models
          2. 建筑学
            1. 代码库结构

              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