コードコンテキストMCPサーバー
ローカルGitリポジトリからコードコンテキストを提供するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーでは以下のことが可能です。
Gitリポジトリをローカルにクローンする
プロセスブランチとファイル
コードチャンクの埋め込みを生成する
コード上でセマンティック検索を実行する
特徴
GitHub APIの代わりにローカルのgitリポジトリを使用する
SQLiteデータベースにデータを保存する
コードを意味のあるチャンクに分割する
Ollamaを使用してコードチャンクの埋め込みを生成する
コード上のセマンティック検索を提供
Related MCP server: Git MCP
前提条件
Node.js (v16+)
ギット
埋め込みモデルを備えたOllama
インストール
構成
次の環境変数を設定します。
DATA_DIR: SQLite データベースのディレクトリ (デフォルト: '~/.codeContextMcp/data')REPO_CACHE_DIR: クローンされたリポジトリのディレクトリ (デフォルト: '~/.codeContextMcp/repos')
Ollamaの使用
より高速で強力な埋め込みには、Ollama を使用できます。
使用法
Claude Desktopでの使用
Claude Desktop 構成ファイル ( claude_desktop_config.json ) に次の構成を追加します。
ツール
サーバーは次のツールを提供します。
クエリリポジトリ
リポジトリのクローンを作成し、コードを処理し、セマンティック検索を実行します。
branchパラメータはオプションです。指定されていない場合、ツールはリポジトリのデフォルトブランチを自動的に使用します。
keywordsパラメータはオプションです。指定した場合、結果は指定されたキーワードの少なくとも1つを含むチャンクのみにフィルタリングされます(大文字と小文字は区別されません)。
filePatternsおよびexcludePatternsパラメータはオプションです。これらを使用すると、処理および検索対象となるファイルを glob パターンでフィルタリングできます(例: すべての TypeScript ファイルの場合は**/*.ts )。
データベーススキーマ
サーバーは次のスキーマで SQLite を使用します。
repository:リポジトリに関する情報を保存しますbranch: ブランチに関する情報を保存しますfile: ファイルに関する情報を保存しますbranch_file_association: ファイルをブランチに関連付けるfile_chunk: コードチャンクとその埋め込みを保存する
ライセンス
マサチューセッツ工科大学