Aider MCP サーバー - 実験的
AI コーディング作業を Aider にオフロードし、開発の効率と柔軟性を向上させるモデル コンテキスト プロトコル サーバー。
概要
このサーバーにより、Claude CodeはAIコーディングタスクを最高のオープンソースAIコーディングアシスタントであるAiderにオフロードできます。特定のコーディングタスクをAiderに委託することで、コストを削減し、コーディングモデルをコントロールし、Claude Codeをより効率的に運用してコードのレビューと修正を行うことができます。
設定
- リポジトリをクローンします。
- 依存関係をインストールします:
- 環境ファイルを作成します。
.env
ファイルで API キーを構成して (または mcpServers の "env" セクションを使用して)、aider で使用するモデルに必要な API キーを取得します。
.mcp.json
プロジェクトのルートにコピーして入力し、--directory
がこのプロジェクトのルート ディレクトリを指すように更新し、--current-working-dir
プロジェクトのルートを指すように更新します。
テスト
gemini-2.5-pro-exp-03-25で実行されたテスト
すべてのテストを実行するには:
特定のテストを実行するには:
注: AIコーディングテストには、Geminiモデルの有効なAPIキーが必要です。テストを実行する前に、 .env
ファイルに必ず設定してください。
このMCPサーバーをClaude Codeに追加する
gemini-2.5-pro-exp-03-25
で追加
gemini-2.5-pro-preview-03-25
で追加
quasar-alpha
を追加
llama4-maverick-instruct-basic
で追加
使用法
この MCP サーバーは次の機能を提供します。
- AIコーディングタスクをAiderにオフロードします。
- プロンプトとファイルパスを取得します
- 要求された変更を実装するためにAiderを使用する
- 成功または失敗を返します
- 利用可能なモデルの一覧:
- 部分文字列に一致するモデルのリストを提供します
- サポートされているモデルを見つけるのに役立ちます
利用可能なツール
この 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 リクエスト内):
クロードコードプロンプト:
結果:
戻り値:
- 単純な辞書: {success, diff}
success
: boolean - 操作が成功したかどうか。diff
: 文字列 - ファイルに加えられた変更の差分。
2. list_models
このツールは、特定の部分文字列に一致する、Aider でサポートされている利用可能な AI モデルを一覧表示します。
パラメータ:
substring
(文字列、必須): 使用可能なモデルの名前内で検索する部分文字列。
使用例 (MCP リクエスト内):
クロードコードプロンプト:
結果:
戻り値:
- 指定された部分文字列に一致するモデル名文字列のリスト。例:
["gemini/gemini-1.5-flash", "gemini/gemini-1.5-pro", "gemini/gemini-pro"]
建築
サーバーは次のように構成されています。
- サーバー層: MCPプロトコル通信を処理する
- 原子層: 個々の純粋な機能コンポーネント
- ツール: 特定の機能 (AI コーディング、モデルのリスト表示)
- ユーティリティ: 定数とヘルパー関数
- データ型: Pydantic を使用した型定義
すべてのコンポーネントは信頼性について徹底的にテストされています。
コードベースの構造
プロジェクトは、次の主要なディレクトリとファイルで構成されています。
src/aider_mcp_server
: メインアプリケーションコードが含まれています。atoms
: 基本的な構成要素を保持します。これらは、依存関係が最小限の純粋関数または単純なクラスとして設計されています。tools
: ここでの各ファイルは、特定の MCP ツール (aider_ai_code
、list_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
ディレクトリの構造を反映したテストが含まれており、各コンポーネント (特にアトム) が期待どおりに動作することを確認します。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Claude Code が AI コーディング タスクを Aider にオフロードできるようにすることで、コストが削減され、特定のコーディング タスクを処理するモデルをより細かく制御できるようになります。
Related MCP Servers
- -securityAlicense-qualityProvides 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 -8PythonMIT License
- -securityAlicense-qualityAI-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 -1PythonMIT License
Code MCP Serverofficial
-securityAlicense-qualityEnables AI agents and assistants like Goose or Claude to interact with VS Code through the Model Context Protocol.Last updated -14TypeScriptApache 2.0- -securityFlicense-qualityConnects 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 -286Python