Aider MCP Server
# Aider MCP Server
A Model Context Protocol (MCP) server that allows Claude and other MCP clients to connect to [Aider](https://github.com/paul-gauthier/aider) for efficient file editing capabilities.
## Overview
This MCP server bridges the gap between AI assistants like Claude and Aider's powerful file editing capabilities. It provides a standardized interface through the Model Context Protocol, allowing Claude to:
- Edit existing files using Aider's capabilities
- Create new files with content
- Extract code blocks from markdown text
- Get git status information
- Check Aider installation status
- Access and use Aider's configuration system
## Prerequisites
- Python 3.8 or higher
- Aider installed (`pip install aider-chat`)
- An API key for OpenAI or Anthropic (depending on which model you want Aider to use)
- Git repository for file editing
## Installation
You can install the Aider MCP server in several ways:
### Using UV (Recommended)
If you have [uv](https://github.com/astral-sh/uv) installed:
```bash
# Install uv if you don't have it
curl -fsSL https://astral.sh/uv/install.sh | bash
# Run directly with uvx (no installation required)
uvx aider-mcp
```
### Using PIP
```bash
# Install the package
pip install aider-mcp
# Run the server
aider-mcp
```
## Usage
The Aider MCP server runs in MCP protocol mode over stdio by default, which is designed for direct integration with MCP clients like Claude Desktop and Cursor IDE.
```bash
# Run directly with uvx (recommended)
uvx aider-mcp
# With repository path specified
uvx aider-mcp --repo-path=/path/to/your/repo
# With custom Aider executable path
uvx aider-mcp --aider-path=/path/to/aider
# With environment variables
REPO_PATH=/path/to/your/repo uvx aider-mcp
```
### Command Line Options
You can customize the server with these environment variables or command-line arguments:
- `--aider-path`: Path to the Aider executable (default: "aider", automatically searches PATH)
- `--repo-path`: Path to the git repository (default: current directory)
- `--config-file`: Path to a custom Aider config file
- `--env-file`: Path to a custom .env file
- `--verbose`, `-v`: Enable verbose output
## Client Configuration
### Claude Desktop
Add this to your Claude Desktop configuration file:
```json
{
"mcpServers": {
"aider-mcp": {
"command": "uvx",
"args": [
"aider-mcp",
"--repo-path", "/path/to/your/repo"
]
}
}
}
```
### Cursor IDE
To integrate with Cursor IDE:
1. Open Cursor Settings
2. Navigate to `Features` > `MCP Servers`
3. Click `Add new MCP server`
4. Enter this configuration:
```
name: aider-mcp
type: command
command: uvx aider-mcp --repo-path=/path/to/your/repo
```
5. After configuring, ensure you're in Agent mode in the Composer to use MCP tools
## Aider Configuration Support
This MCP server supports Aider's configuration system, allowing you to:
1. Use configuration from `.aider.conf.yml` files in:
- Your home directory
- The git repository root
- The current directory
- A custom path specified with `--config-file`
2. Use environment variables from `.env` files in:
- Your home directory
- The git repository root
- The current directory
- A custom path specified with `--env-file`
3. Pass custom Aider options when editing files through the MCP tools.
## Example Prompts for Claude
Once connected to Claude, you can use prompts like:
- "Edit my app.py file to add error handling to the main function"
- "Create a new file called utils.py with helper functions for date formatting"
- "Show me the current git status of the repository"
- "Extract the Python code from this explanation and save it to a file"
## Available Tools
The MCP server provides these directory-based tools:
- `edit_files`: Make targeted code changes in a specified directory
- Requires a directory path and detailed instructions
- Automatically accepts all proposed changes (uses `--yes-always`)
- Additional Aider options can be specified when needed
- `create_files`: Create new files with content in a specified directory
- You can provide multiple files to create at once
- Optionally commit the new files to git
- `git_status`: Get git status of a specified directory's repository
- Quick way to check for modified, added, deleted, and untracked files
- `extract_code`: Extract code blocks from markdown or text
- Can optionally save extracted code blocks to files in a specified directory
- Preserves language information from code block markers
- `aider_status`: Check Aider installation and environment status
- Verifies Aider is correctly installed and accessible
- Can check specific directories for configuration
- Reports on API keys and environment variables
- `aider_config`: Get detailed Aider configuration information
- Shows which configuration files are being used
- Displays settings from all layers of configuration
- Reports available environment variables
## Environment Variables
The server uses environment variables which can be set directly or through `.env` files:
- `AIDER_PATH`: Path to the Aider executable
- `REPO_PATH`: Path to the git repository
- `AIDER_CONFIG_FILE`: Path to a custom Aider config file
- `AIDER_ENV_FILE`: Path to a custom .env file
- `AIDER_MCP_VERBOSE`: Enable verbose logging
- `OPENAI_API_KEY`: Your OpenAI API key (if using GPT-4 with Aider)
- `ANTHROPIC_API_KEY`: Your Anthropic API key (if using Claude with Aider)
## Debugging
You can use the MCP inspector to debug the server:
```bash
# Test with MCP inspector
npx @modelcontextprotocol/inspector uvx aider-mcp
# Test with specific repository path
npx @modelcontextprotocol/inspector uvx aider-mcp --repo-path=/path/to/your/repo
# If running from Python package
npx @modelcontextprotocol/inspector python -m aider_mcp
```
The inspector provides an interactive UI to:
1. View available tools and their schemas
2. Call tools with test parameters
3. See the responses and debug issues
## Development
For local development:
```bash
git clone https://github.com/yourusername/aider-mcp-server.git
cd aider-mcp-server
pip install -e .
```
## License
Unlicense