AI

codebase-memory-mcpの使い方完全ガイド【インストールから応用まで】

codebase-memory-mcpの使い方完全ガイド【インストールから応用まで】

大規模なコードベースを扱う際、AIエージェントの能力は試されます。 AIエージェントは、限られた情報でしかコードを理解できません。 ファイルごとの断片的な情報では、全体像の把握が困難でした。 コードベース全体の構造や関連性を理解するには、多くのトークンが必要です。 その結果、AIエージェントの応答品質が低下し、コストも増加していました。

しかし、codebase-memory-mcpがあれば状況は一変します。 このツールはコードベースを知識グラフとして構築します。 AIエージェントは、コード全体の文脈を瞬時に参照できます。 まるでコードベース全体がAIエージェントの記憶になるかのようです。 これにより、より的確で、迅速なコード理解が可能になります。

codebase-memory-mcpとは

codebase-memory-mcpは、AI/LLM開発者向けに設計されたコードインテリジェンスエンジンです。 コードベースを「知識グラフ」として構築するMCP(Memory-Controlled Processor)サーバーです。 このツールは、AIコーディングエージェントの記憶力を飛躍的に向上させます。 LLMの限られたコンテキストウィンドウ問題を克服するために誕生しました。 大規模なコードベースでも、AIエージェントが全体を効率的に把握できるようになります。

その最大の特徴は、驚異的なインデックス速度にあります。 平均的なリポジトリであればミリ秒単位でフルインデックスを完了します。 例えば、Linuxカーネル(2,800万行、7万5千ファイル)でもわずか3分で処理します。 構造的なクエリには1ミリ秒未満で応答可能です。 これは、LZ4圧縮やインメモリSQLite、Aho-Corasickパターンマッチングを活用したRAMファーストのパイプラインによるものです。

codebase-memory-mcpは、単一の静的バイナリとして提供されます。 macOS、Linux、Windowsに対応し、Dockerやランタイム依存性、APIキーは不要です。 ダウンロードしてinstallコマンドを実行するだけで、すぐに利用を開始できます。 158のプログラミング言語に対応しており、tree-sitterによるAST解析を行います。 Python、TypeScript、PHP、C#、Go、C、C++、Java、Kotlin、RustではHybrid LSPもサポートします。 これにより、関数、クラス、コールチェーン、HTTPルート、サービス間リンクを網羅した永続的な知識グラフを生成します。 あなたのコードは100%ローカルで処理され、外部に送信されることはありません。 セキュリティとプライバシーも最大限に配慮されています。

インストール方法

codebase-memory-mcpのインストールは非常に簡単です。 単一のバイナリファイルなので、ダウンロードしてパスを通すだけです。 各OSごとの手順を以下に示します。

macOS / Linux

macOSまたはLinux環境では、以下のコマンドでインストールできます。 ご自身のCPUアーキテクチャ(arm64またはamd64)に合わせてURLを調整してください。

# 最新版のダウンロードURLを確認し、必要に応じてアーキテクチャを調整します
# 例: macOS (Apple Silicon) の場合
curl -sL https://github.com/DeusData/codebase-memory-mcp/releases/latest/download/codebasemcp-macos-arm64.tar.gz | tar xz
# 例: macOS (Intel) または Linux (x86_64) の場合
# curl -sL https://github.com/DeusData/codebase-memory-mcp/releases/latest/download/codebasemcp-macos-amd64.tar.gz | tar xz
# curl -sL https://github.com/DeusData/codebase-memory-mcp/releases/latest/download/codebasemcp-linux-amd64.tar.gz | tar xz

# ダウンロードしたバイナリを実行可能にし、システムパスに移動します
# (tar xzで展開されたファイル名が 'codebasemcp' であることを想定)
sudo mv codebasemcp /usr/local/bin/

# ツール固有の初期設定を実行します
codebasemcp install

codebasemcp installコマンドは、必要な設定や依存関係の初期化を行います。

Windows

Windows環境では、PowerShellを使用してインストールします。 こちらもCPUアーキテクチャ(amd64)に合わせてURLを調整してください。

# 最新版のダウンロードURLを確認します
$url = "https://github.com/DeusData/codebase-memory-mcp/releases/latest/download/codebasemcp-windows-amd64.zip"
$outputPath = "$env:TEMP\codebasemcp.zip"
$extractPath = "$env:TEMP\codebasemcp_extracted"

# ZIPファイルをダウンロードします
Invoke-WebRequest -Uri $url -OutFile $outputPath

# ZIPファイルを展開します
Expand-Archive -Path $outputPath -DestinationPath $extractPath -Force

# 展開された実行ファイルをシステムパスに追加できる場所に移動します
# 例えば、C:\Program Files\codebasemcp に移動し、そのパスを環境変数に追加します
# または、既存のパスにあるディレクトリに移動します
$sourcePath = Join-Path $extractPath "codebasemcp.exe"
$destinationDir = "C:\Program Files\codebasemcp"
$destinationPath = Join-Path $destinationDir "codebasemcp.exe"

New-Item -ItemType Directory -Force -Path $destinationDir
Move-Item -Path $sourcePath -Destination $destinationPath -Force

# 環境変数Pathにディレクトリを追加します(初回のみ)
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + $destinationDir
[System.Environment]::SetEnvironmentVariable("Path", $env:Path, "Machine")

# ツール固有の初期設定を実行します
# 新しいPowerShellセッションを開くか、PCを再起動してPathの変更を適用してください
codebasemcp install

codebasemcp installコマンドの実行後、環境変数の変更を反映するため、新しいPowerShellセッションを開くか、PCを再起動してください。

基本的な使い方

codebase-memory-mcpは、シンプルなCLIインターフェースを提供します。 最低限のコマンドを知るだけで、その強力な機能を活用できます。 ここでは、主要な3つのコマンドを紹介します。

1. コードベースのインデックス作成

まず、対象のコードベースをインデックス化する必要があります。 これにより、コードの知識グラフが生成されます。 現在のディレクトリをインデックス化するには、以下のコマンドを実行します。

codebasemcp index .

特定のディレクトリをインデックス化する場合は、パスを指定します。

# 例えば、~/my_project ディレクトリをインデックス化する場合
codebasemcp index ~/my_project

このコマンドは、指定されたコードベースを解析し、知識グラフを構築します。 初回実行時には、言語パーサーのダウンロードなどが行われる場合があります。

2. 知識グラフへのクエリ

インデックスが作成されたら、コードベースにクエリを実行できます。 特定の関数定義やクラス、コールチェーンなどを検索可能です。 例えば、「Userクラスの定義」を検索する場合は、次のようにします。

codebasemcp query "User class definition"

main関数がどこから呼び出されているか」を知りたい場合は、こうです。

codebasemcp query "callers of main function"

このクエリ機能は、AIエージェントがコードベースを理解する上で重要です。 特定のコード要素に関する情報を素早く取得できます。

3. 3DグラフUIの起動

codebase-memory-mcpには、知識グラフを視覚的に探索できるUIが内蔵されています。 ブラウザで知識グラフを3Dで表示し、インタラクティブに操作できます。 UIを起動するには、以下のコマンドを実行します。

codebasemcp ui

このコマンドを実行すると、デフォルトでlocalhost:9749にアクセスできます。 ブラウザを開き、生成された知識グラフを視覚的に探索してください。 ノードをクリックすると、関連するコード要素やその関係性が表示されます。

便利な使い方・応用例 3選

codebase-memory-mcpは、AIエージェントの能力を最大限に引き出します。 実際の開発シーンで役立つ応用例を3つ紹介します。

1. AIによる高度なコードレビュー支援

大規模なプルリクエストや複雑な変更をレビューする際、AIエージェントは変更の影響範囲を正確に把握する必要があります。codebase-memory-mcpは、変更されたコードと既存コードベースの関連性を知識グラフで提供します。 例えば、特定の関数が変更された場合に、それに依存する他の関数やサービスを特定できます。

シナリオ: あるプルリクエストでPaymentProcessorクラスのprocess_paymentメソッドが変更されました。 AIエージェントは、この変更がシステム全体にどのような影響を与えるか分析します。

# 変更されたメソッドのコールチェーンを検索します
codebasemcp query "call chain of PaymentProcessor.process_payment"

# PaymentProcessorクラスに関連するHTTPルートを検索します
codebasemcp query "HTTP routes related to PaymentProcessor class"

これにより、AIエージェントは変更の潜在的な副作用を予測できます。 レビュー担当者は、より質の高いフィードバックを受け取ることが可能です。

2. 新規機能開発時の既存コード調査

新しい機能を開発する際、既存のコードベースから関連するパターンやコンポーネントを探すのは大変な作業です。codebase-memory-mcpを活用すれば、AIエージェントが迅速に適切な情報を提示できます。

シナリオ: 新しいユーザー認証機能を実装するため、既存の認証関連コードを調査します。 AIエージェントは、既存の認証フローやセキュリティ関連の実装を把握する必要があります。

# "Authentication"や"User"に関連するクラスや関数を検索します
codebasemcp query "classes and functions related to Authentication"

# 既存の認証APIエンドポイントを検索します
codebasemcp query "HTTP endpoints for user login or registration"

AIエージェントは、これらの情報に基づき、最適な設計パターンを提案できます。 開発者は、ゼロから調査する手間を省き、開発に集中できます。

3. 複雑なバグの特定とリファクタリング計画

プロダクション環境で発生した複雑なバグの原因特定は、多くの時間と労力を要します。codebase-memory-mcpは、AIエージェントがコードベースを横断的に分析する能力を提供します。 これにより、バグの原因となる可能性のある箇所を素早く絞り込めます。

シナリオ: あるマイクロサービスで、特定のデータ処理が期待通りに動作しないバグが発生しました。 AIエージェントは、関連するデータフローやサービス間連携を分析します。

# 問題のあるデータ処理関数 (例: 'process_data') の依存関係を検索します
codebasemcp query "dependencies of process_data function"

# 関連するサービスやコンポーネント間のリンクを検索します
codebasemcp query "cross-service links related to DataProcessingService"

AIエージェントは、知識グラフから得られた情報をもとに、バグの根本原因を特定します。 また、リファクタリングが必要な場合に、その影響範囲や手順を計画することも可能です。 これにより、開発者はより迅速に問題を解決し、システムの健全性を保てます。

他ツールとの組み合わせ

codebase-memory-mcpは単体でも強力ですが、他のツールと組み合わせることで真価を発揮します。 特にAIエージェントとの連携は、このツールの核心的な利用方法です。

1. 大規模言語モデル (LLM) エージェント

codebase-memory-mcpは、AIコーディングエージェントのための「外部記憶」として機能します。 GPT-4o、Claude 3 Opus、GeminiなどのLLMエージェントと連携させます。 エージェントは、codebase-memory-mcpをツールとして呼び出し、コードベースに関する情報を取得します。

組み合わせ方: LLMエージェントのツール呼び出し機能(Function Callingなど)を設定します。 codebase-memory-mcpqueryコマンドを、エージェントが利用できるツールとして定義します。 例えば、エージェントが「この機能はどこで使われている?」という質問を受けた場合を考えます。 エージェントは内部でcodebasemcp query "callers of <function_name>"を実行します。 その結果をLLMのコンテキストに含めて、ユーザーに回答を生成します。

// エージェントのツール定義の例(概念)
{
  "name": "codebase_query",
  "description": "コードベースに関する構造的な情報を問い合わせる",
  "parameters": {
    "type": "object",
    "properties": {
      "query_string": {
        "type": "string",
        "description": "コードベースへのクエリ文字列"
      }
    },
    "required": ["query_string"]
  }
}

エージェントがこのcodebase_queryツールを呼び出すことで、codebase-memory-mcpが実行されます。 これにより、エージェントはコードベース全体の知識を、トークン消費を抑えつつ利用できます。

2. CI/CDパイプライン

codebase-memory-mcpをCI/CDパイプラインに組み込むことも有効です。 プルリクエストが作成された際に、自動的にコードベースを分析させます。 変更がシステム全体に与える影響を早期に検出し、開発者にフィードバックできます。

組み合わせ方: CI/CDスクリプト内でcodebasemcp indexcodebasemcp queryコマンドを実行します。 例えば、変更されたファイルや関数に関連する依存関係を自動でチェックします。 特定のキーワードやパターンに対するコードベース全体の検索結果をログに出力します。

# PRのブランチで最新のインデックスを作成
codebasemcp index .

# 変更されたファイルリストを取得 (例: Gitコマンド)
CHANGED_FILES=$(git diff --name-only HEAD~1)

# 各変更ファイルについて、その依存関係をクエリする (例: Pythonスクリプトで処理)
for file in $CHANGED_FILES; do
  echo "Checking dependencies for $file..."
  codebasemcp query "dependencies of file $file"
done

この連携により、コードレビューの品質が向上し、潜在的なバグを未然に防ぎます。 デプロイ前にコードの健全性を自動的に検証できます。

よくある設定・カスタマイズ

codebase-memory-mcpは「ゼロ依存性」を謳っており、設定ファイルは最小限です。 しかし、インデックス化の挙動やエージェント連携時にカスタマイズできる点があります。

1. .codebasemcpignore ファイルによる除外設定

Gitの.gitignoreファイルのように、インデックス化から特定のファイルやディレクトリを除外できます。 プロジェクトのルートディレクトリに.codebasemcpignoreというファイルを作成します。 このファイルに、除外したいパスパターンを記述します。

例: .codebasemcpignore

# ビルド生成物を除外
build/
dist/
target/

# テストコードを除外
tests/
*.test.js
*_test.go

# ドキュメントを除外
docs/

これにより、不要なファイルがインデックス化されるのを防ぎます。 インデックスのサイズを最適化し、クエリの精度を高めることができます。

2. 環境変数による挙動の調整

codebase-memory-mcpは、環境変数を通じて一部の挙動を調整できる可能性があります。 例えば、ログレベルの変更や、内部キャッシュのパス指定などです。 公式ドキュメントに明示されていない場合でも、一般的なCLIツールと同様のオプションが考えられます。

# 例えば、デバッグログを有効にする場合(仮の例)
CODEBASE_MEMORY_LOG_LEVEL=debug codebasemcp index .

# UIのポートを変更する場合(仮の例)
CODEBASE_MEMORY_UI_PORT=8080 codebasemcp ui

これらの環境変数は、必要に応じて設定してみてください。 より詳細な情報は、codebasemcp --helpコマンドで確認できます。

3. エージェント連携時の設定

LLMエージェントとの連携では、エージェント側の設定ファイルでcodebase-memory-mcpをツールとして定義します。 エージェントがどのタイミングで、どのようなクエリを発行するかを制御します。 これはcodebase-memory-mcp自体の設定ではなく、エージェント側の設定になります。 エージェントのフレームワーク(例: LangChain, LlamaIndex)のドキュメントを参照してください。

今日からできる実行プラン

codebase-memory-mcpの導入は、たったの3ステップで始められます。 あなたのAI開発ワークフローを今日から変革しましょう。

ステップ1: codebase-memory-mcpのインストール

まずは、あなたの開発環境にcodebase-memory-mcpをインストールします。 この記事の「インストール方法」セクションを参照してください。 macOS、Linux、Windowsのいずれかを選択し、コマンドを実行するだけです。

# macOS / Linux の場合(例: macOS arm64)
curl -sL https://github.com/DeusData/codebase-memory-mcp/releases/latest/download/codebasemcp-macos-arm64.tar.gz | tar xz
sudo mv codebasemcp /usr/local/bin/
codebasemcp install

# Windows の場合(PowerShellで実行)
# ...上記インストール手順を参照...

インストールが完了したら、codebasemcp --versionを実行し、バージョンが表示されるか確認しましょう。

ステップ2: 自分のプロジェクトをインデックス化する

次に、AIエージェントに分析させたいプロジェクトのコードベースをインデックス化します。 プロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。

cd /path/to/your/project
codebasemcp index .

インデックス作成には、プロジェクトの規模に応じて時間がかかります。 Linuxカーネルのような大規模プロジェクトでも数分で完了します。 .codebasemcpignoreファイルを作成し、不要なファイルを事前に除外しておくと効率的です。

ステップ3: 基本的なクエリやUIを試す

インデックスが作成されたら、その機能の一部をすぐに体験できます。 簡単なクエリを実行して、コードベースに関する情報を取得してみましょう。

# 例えば、プロジェクト内のすべてのクラス定義を検索
codebasemcp query "all class definitions"

# 特定のファイルがどこから使われているか検索
codebasemcp query "callers of file src/utils/helpers.py"

さらに、内蔵の3DグラフUIを起動して、知識グラフを視覚的に探索します。

codebasemcp ui

ブラウザでlocalhost:9749にアクセスし、あなたのコードベースがどのように知識グラフ化されたかを確認してください。 これらの基本的な操作を通じて、codebase-memory-mcpの強力なコード理解能力を実感できます。 その後、お使いのAIエージェントと連携させ、その真価を発揮させてみましょう。

参考文献

広告

-AI