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
开发指南
贡献代码
- 克隆仓库
git clone https://github.com/yourusername/aider-mcp-server.git
cd aider-mcp-server
- 创建功能分支
git checkout -b feature/new-feature
- 提交代码
git add .
git commit -m "添加新功能"
git push origin feature/new-feature
- 发起拉取请求 通过 GitHub 提交 Pull Request,确保代码符合项目规范。
问题反馈
如遇任何问题或有改进建议,请访问 GitHub 仓库 提交 Issues。
📄 许可证
本项目遵循 MIT 协议开源,详细许可信息请见 LICENSE 文件。
Scan to join WeChat group