Skip to main content
Glama

Aider MCP 服务器 - 实验性

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

概述

该服务器允许 Claude Code 将 AI 编码任务分流给最佳开源 AI 编码助手 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. .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
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