mcpField
R
repofind

repofind

ローカル
github.com/CloudCorpRecords開発ツール01 週間前に更新

repofind について

repofindは、エージェントや開発者向けのローカルコードベース検索MCPサーバー兼コマンドラインツールです。キーワード検索と任意の埋め込みベース検索を組み合わせ、完全一致検索やコードの文脈確認も行えます。

主な機能

  1. 01キーワードとセマンティック検索
  2. 02部分文字列の完全一致検索
  3. 03前後のコードチャンクを展開
  4. 04他ファイルの関連コードを検索
  5. 05ベンチマークのトークン節約集計

活用シーン

  1. 01自然言語の質問からコードを検索
  2. 02環境変数やシンボルを特定
  3. 03検索箇所の前後のコードを確認
  4. 04別ファイルの類似コードを発見

MCP 対応

ローカルコードベースの探索用に、search、locate、expand、find_related、read_benchmarkツールをMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-repofind": {
"command": "npx",
"args": [
"-y",
"@reneturcios/repofind"
]
}
}
}
起動コマンドnpx -y @reneturcios/repofind

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/repofind0.1.0
ocighcr.io/cloudcorprecords/repofind:0.1.0

ツール

5

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
repostringいいえインデックス化するローカルディレクトリのパス(任意。デフォルトは作業ディレクトリ)
querystringはい自然言語またはコードによるクエリ
excludearrayいいえGitignore 形式の glob パターン。一致するファイルは除外されます(任意)
includearrayいいえGitignore 形式の glob パターン。一致するファイルのみを検索します(任意)
dedupe_by_filebooleanいいえファイルごとに最も一致度の高い結果のみを保持します(デフォルトは true)

詳細

repofind

一度も開いたことのないリポジトリでコードを探すとき、 たいていは当てずっぽうで始めます。grep する単語や、 試すファイル名を推測します。repofind は、その推測を インデックスに置き換えます。ローカルディレクトリを指定すると ツリーをたどり、.git、node_modules、1 メガバイトを超える ファイル、ソースおよびテキストの拡張子の許可リストにないものを スキップします。各ファイルを連続する 40 行のチャンクに分割し、 質問との関連度に基づいてチャンクをランク付けします。 1 回の呼び出しで、確認すべき上位 5 か所を返します。それぞれに ファイル、行の範囲、チャンクのテキスト、スコアが含まれます。

ランキングにはハイブリッド方式を採用しています。固定された BM25 スコアラー(k1 = 1.2、 b = 0.75)がチャンクのテキストに対して常に実行されます。 環境変数に TAKARA_API_KEY が設定されている場合は、 埋め込み処理も加わります。クエリとチャンクを OpenAI 互換の エンドポイントで埋め込み、各チャンクの最終スコアは bm25 + 10 * max(0, cosine) になります。キーがない場合、または埋め込み処理に 失敗した場合は、notes にその旨が明記され、キーワードのみで ランキングされます。デフォルトでは、各ファイルの最上位の結果のみを 残すため、5 件の結果はそれぞれ異なるファイルを指します。

その他のツールは、探索の残りの流れをカバーします。 locate は完全一致する部分文字列(環境変数、シンボル、 エラーコードなど)を検索し、件数、ファイル一覧、 場所のみ、または行全体として報告します。expand は すでにある結果を受け取り、そのチャンクと同じファイル内の 隣接するチャンクを返します。find_related は同じアンカーを受け取り、 他のすべてのファイルのチャンクを対象にランキングします。 read_benchmark は、保存されたベンチマークモードのクエリを集計し、 トークン節約量の合計を返します。元の製品の auth ツールは、 この再構築には含まれません。対話型のデバイスログインと AWS プロファイルの検証は、公開されている仕様からは再現できないため、 ここで提供するのは 6 つのツールのうち 5 つです。

CLI

npx @reneturcios/repofind search '{"query": "retry backoff logic", "repo": "."}'
npx @reneturcios/repofind locate '{"literal": "DATABASE_URL", "mode": "locations"}'
npx @reneturcios/repofind expand '{"file_path": "src/client.ts", "anchor_line": 83}'
npx @reneturcios/repofind find_related '{"file_path": "src/client.ts", "anchor_line": 83}'
npx @reneturcios/repofind read_benchmark '{}'
npx @reneturcios/repofind --version

各ツールのサブコマンドは、ツールの引数を 1 つの JSON 文字列として受け取り、結果を JSON として出力します。終了コード: 成功時は 0、実行時エラー時は 1、使用方法エラー時は 2 です。

環境変数:TAKARA_API_KEY はセマンティック検索部分を有効にします。 MIRU_OPENAI_BASE_URL(デフォルトは https://infer.takara.ai/v1)と MIRU_OPENAI_EMBEDDING_MODEL(デフォルトは ds1-miru-int8)は 埋め込みエンドポイントを設定します。 MIRU_MAX_INDEX_FILES はインデックスの上限を設定します(デフォルトは 10000)。 MIRU_BENCHMARK_HISTORY_PATH はベンチマーク履歴の保存先を上書きします。

MCP サーバー

npx -y @reneturcios/repofind mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "repofind": {
      "command": "npx",
      "args": ["-y", "@reneturcios/repofind", "mcp"]
    }
  }
}
ツール
  • search — インデックス化されたローカルコードベースを対象に、セマンティック検索とキーワード検索を組み合わせて検索します。コード探索ではデフォルトで使用し、質問ごとに1回呼び出します。

    • query(string、必須)— 自然言語またはコードによるクエリ
    • repo(string、任意)— インデックス化するローカルディレクトリ。デフォルトは作業ディレクトリです
    • include / exclude(string arrays、任意)— リポジトリ相対パスに対する、gitignore形式のグロブパターン
    • dedupe_by_file(boolean、デフォルトはtrue)— ファイルごとに最も関連性の高い結果を保持します

    最大5件の結果を含む{hits, ranking, notes}を返します。各結果は{file_path, absolute_path, start_line, end_line, anchor_line, truncated, snippet, score}で、スコアは小数点以下4桁に丸められます。

  • locate — インデックス化されたローカルコードベース内で、完全一致する文字列(環境変数、シンボル、エラーコード)を検索します。

    • literal(string、必須)。modeはcount、files、locations、linesのいずれか(デフォルトはlines)。limitは検索箇所/行数の上限です。ignore_case(デフォルトはfalse)。repo、include、excludeはsearchと同様です。
  • expand — 検索結果の周辺にある同じファイル内のコンテキストを、アンカーチャンクと隣接チャンクを含めて返します。

    • file_pathとanchor_line(必須)。before / afterはチャンク数(それぞれデフォルトは1)です。
  • find_related — 検索結果のfile_pathとanchor_lineをもとに、他のファイルから類似コードを検索します。検索元のファイルを除外し、searchと同じ形式の{hits, ranking, notes}を返します。

  • read_benchmark — 保存されたベンチマークモードのクエリから、累積トークン削減量を集計します。{queries, total_tokens_saved, average_tokens_saved}を返します。履歴ファイルが存在しない場合は、エラーではなく削減量ゼロとして集計されます。

Docker

docker run -i ghcr.io/cloudcorprecords/repofind
docker run --rm ghcr.io/cloudcorprecords/repofind locate '{"literal": "TODO"}'

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (temp fixture repos, fake embedder, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。