Back to MCP directory
publicPublicdnsLocal runtime

Aider

Aider MCP Server是一个实验性模型上下文协议服务器,用于将AI编码任务卸载到Aider,提高开发效率和灵活性。

article

README

🚀 MCP 服务器:Aider 的 AI 帮助程序

aider-mcp-server 是一个专为实现与 Claude 等先进 AI 模型交互而设计的 MCP(Modular Conversation Protocol)服务器。此项目旨在通过标准化接口,简化集成和扩展过程,为开发者提供便捷高效的 AI 交互解决方案。

✨ 主要特性

  • 模块化架构:遵循 "MCP 协议" 设计原则,组件间松耦合,便于维护和升级,开发者可根据需求灵活调整和扩展系统。
  • 高性能通信:支持高并发连接,确保在多用户环境下稳定运行,为大规模应用提供坚实基础。
  • 灵活适配性:借助插件式设计,支持多种 AI 服务提供商(如 Claude、GPT - 4)的集成,满足不同场景的多样化需求。

🚀 快速开始

📦 安装依赖

pip install aider-mcp-server

⚙️ 启动服务器

aider-mcp-server --editor-model openai/gpt-4o

💻 使用示例

请求示例

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

返回结果

{
  "success": true,
  "diff": "+ This is a test diff line.\n- This is another test diff line."
}

📚 详细文档

核心组件

服务器层

处理 MCP 协议的通信,接收和发送请求/响应,是整个系统与外部交互的桥梁。

原子层(Atoms)

功能纯净、可复用的组件:

  • 工具
    • aider_ai_code:提供 AI 编程辅助功能,帮助开发者更高效地进行编程。
    • list_models:列出支持的 AI 模型,方便用户了解可用资源。
  • 辅助函数
    • utils.py:包含常量和一些实用工具,例如默认模型名称,为系统运行提供基础支持。
    • data_types.py:定义 Pydantic 数据结构,确保数据验证,保证数据的准确性和完整性。
    • logging.py:配置统一的日志记录格式,适用于控制台和文件输出,便于问题排查和系统监控。
  • 服务器逻辑
    • server.py:初始化 MCP 服务器,注册原子层工具,处理入站请求,并根据 MCP 协议路由到相应的工具逻辑,发送响应,是服务器的核心控制逻辑。

插件系统

允许添加自定义功能模块,增强服务器扩展性,开发者可根据自身需求定制服务器功能。

🔧 技术细节

架构原理

  • 设计哲学:遵循 "单一职责" 原则,每个组件专注于特定任务,提高系统的可维护性和可扩展性。
  • 通信机制:使用 WebSocket 或 HTTP 协议进行实时交互,满足不同场景下的通信需求。
  • 数据处理:通过 Pydantic 进行数据验证和反序列化,确保数据的准确性和一致性。

代码结构

.
├── ai_docs                   # AI 相关文档
│   ├── just-prompt-example-mcp-server.xml
│   └── programmable-aider-documentation.md
├── pyproject.toml            # 项目元数据与依赖管理
├── README.md                 # 项目说明文件
├── specs                     # 规范性文件
│   └── init-aider-mcp-exp.md
├── src                       # 源代码目录
│   └── aider_mcp_server      # 主要服务器包
│       ├── __init__.py       # 包初始化
│       ├── __main__.py       # 服务器启动入口点
│       ├── atoms             # 核心、可复用组件(纯函数)
│       │   ├── __init__.py
│       │   ├── data_types.py # Pydantic 数据结构定义
│       │   ├── logging.py    # 自定义日志配置
│       │   ├── tools         # 各个工具的具体实现
│       │   │   ├── __init__.py
│       │   │   ├── aider_ai_code.py # AI 编程辅助工具逻辑
│       │   │   └── aider_list_models.py # 列出模型工具逻辑
│       │   └── utils.py      # 共用函数与常量(如默认模型)
│       ├── server.py         # MCP 服务器逻辑,工具注册、请求处理
│       └── tests             # 单元测试与集成测试
│           ├── __init__.py
│           └── atoms         # 测试原子层组件
│               ├── __init__.py
│               ├── test_logging.py # 测试日志功能
│               └── tools     # 测试工具逻辑
│                   ├── __init__.py
│                   ├── test_aider_ai_code.py # AI 编程辅助工具测试
│                   └── test_aider_list_models.py # 列出模型工具测试
  • src/aider_mcp_server:包含服务器的核心逻辑和配置。
  • __main__.py:作为应用入口,负责解析命令行参数并启动服务器。

使用说明

配置选项

--editor-model <model_name>    # 指定使用的编辑器模型,默认为 Claude-2
--listen <host>                # 设置监听地址,默认为 localhost
--port <number>                # 设置监听端口,默认为 8080

示例使用

aider-mcp-server --editor-model openai/gpt-4o --listen 127.0.0.1 --port 8090

开发指南

贡献代码

  1. 克隆仓库
git clone https://github.com/yourusername/aider-mcp-server.git
cd aider-mcp-server
  1. 创建功能分支
git checkout -b feature/new-feature
  1. 提交代码
git add .
git commit -m "添加新功能"
git push origin feature/new-feature
  1. 发起拉取请求 通过 GitHub 提交 Pull Request,确保代码符合项目规范。

问题反馈

如遇任何问题或有改进建议,请访问 GitHub 仓库 提交 Issues。

📄 许可证

本项目遵循 MIT 协议开源,详细许可信息请见 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client