mcpField
R
Ripgrep Mcp

Ripgrep Mcp

ローカル
github.com/superauu検索159 週間前に更新

Ripgrep Mcp について

Ripgrep Mcpは、開発者やコーディングエージェント向けにripgrepの検索ツールを提供するクロスプラットフォームMCPサーバーです。ルートディレクトリ制限、パス検証、出力制限により検索範囲と結果を管理できます。

主な機能

  1. 01複数のripgrep検索ツール
  2. 02ripgrepのオプションとフラグに対応
  3. 03全体または呼び出し単位のルート指定
  4. 04パス検証とディレクトリトラバーサル防止
  5. 05結果数、出力サイズ、実行時間の制限
  6. 06Windows、macOS、Linuxに対応

活用シーン

  1. 01プロジェクト内のコードパターンを検索
  2. 02一致数の集計や検索対象ファイルの一覧表示
  3. 03ディレクトリ外へのアクセスを防ぐ検索範囲の制限

MCP 対応

クライアントにsearch、advanced-search、count-matches、list-files、list-file-typesのツールを提供するMCPサーバーです。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"Auu.Mcp.Rg": {
"command": "npx",
"args": [
"-y",
"auu-mcp-rg"
],
"env": {
"ROOT": "<ROOT>"
}
}
}
}
起動コマンドnpx -y auu-mcp-rg
設定が必要な環境変数
ROOT

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

パッケージ
npmauu-mcp-rg

ツール

5

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

パラメーター型必須説明
patternstringはい検索するパターン
rootstringいいえ検索範囲を限定するルートディレクトリ(任意。このディレクトリ内に検索を限定します)
pathstringいいえ検索するパス(任意。root を指定した場合、この配下である必要があります)
includestringいいえこの glob パターンに一致するファイルを含めます
excludestringいいえこの glob パターンに一致するファイルを除外します
contextnumberいいえ表示するコンテキスト行数
max_matchesnumberいいえ返す一致数の上限(デフォルト:100)
case_sensitivebooleanいいえ大文字と小文字を区別して検索
word_boundariesbooleanいいえ単語全体のみを一致させます
file_typestringいいえこの種類のファイルのみを検索します

詳細

Auu.Mcp.Rg

Windows、macOS、Linux をシームレスにサポートし、強力な検索機能と強化されたセキュリティ機能を提供する、ripgrep 用のクロスプラットフォーム MCP(Model Context Protocol)サーバーです。

特長

  • 🌟 クロスプラットフォーム対応:インテリジェントなパス処理による Windows、macOS、Linux のネイティブサポート(v1.2.6)
  • 🔧 検索ツール:さまざまな用途に対応する複数の検索ツール
  • 📋 ripgrep の完全サポート:すべての ripgrep オプションとフラグをサポート
  • 🚀 npx で実行可能:npx から直接実行できます
  • 🆕 グローバルルートディレクトリ:環境変数によるサーバー全体のルートディレクトリ設定(v1.2.0)
  • 🆕 強化されたセキュリティ:パスの自動検証とディレクトリトラバーサル保護(v1.2.0)
  • 🆕 柔軟な設定:呼び出しごとにルートを上書きできます(v1.2.0)
  • 🆕 スマートなパス処理:ルートとパスのパラメーターを適切に組み合わせ、直感的な検索範囲を実現します(v1.2.1)
  • 🆕 パフォーマンス保護機能:結果数の制限(デフォルト:100)、出力サイズの制限(10MB)、タイムアウト保護(30秒)を内蔵(v1.2.1)
  • 🆕 メモリ保護:メモリリークを防ぐため、出力を自動的に切り詰めます(v1.2.1)
  • 🆕 インテリジェントなパス解決:Node.js のパスユーティリティを使って、クロスプラットフォームのパス正規化と検証を行います(v1.2.6)

インストール

npm install -g auu-mcp-rg

または、npx で実行します:

npx auu-mcp-rg

利用可能なツール

1. search

基本的なオプションを使った検索:

  • pattern:検索パターン(必須)
  • root:検索範囲を制限するルートディレクトリ(任意。検索はこのディレクトリ内に制限されます)
  • path:検索するディレクトリ(任意。指定する場合は root 内である必要があり、root と組み合わせて直感的な検索範囲を指定できます)
  • include:対象に含めるファイルの Glob パターン
  • exclude:対象から除外するファイルの Glob パターン
  • context:前後に表示するコンテキスト行数
  • max_matches:返す一致結果の最大数(デフォルト:100)
  • case_sensitive:大文字と小文字を区別した検索
  • word_boundaries:単語全体にのみ一致
  • file_type:指定したファイルタイプのみを検索
2. advanced-search

すべてのパラメーターに対応し、ripgrep の全オプションを利用できます。

3. count-matches

一致箇所を表示する代わりに件数を数えます:

  • pattern:検索パターン(必須)
  • root:検索範囲を制限するルートディレクトリ(任意。検索はこのディレクトリ内に制限されます)
  • path:検索するディレクトリ(任意。指定する場合は root 内である必要があり、root と組み合わせて直感的な検索範囲を指定できます)
  • include:対象に含めるファイルの Glob パターン
  • exclude:対象から除外するファイルの Glob パターン
  • case_sensitive:大文字と小文字を区別した検索
  • file_type:指定したファイルタイプのみを検索
4. list-files

検索対象となるすべてのファイルを一覧表示します:

  • root:検索範囲を制限するルートディレクトリ(任意。検索はこのディレクトリ内に制限されます)
  • path:検索するディレクトリ(任意。指定する場合は root 内である必要があり、root と組み合わせて直感的な検索範囲を指定できます)
  • include:対象に含めるファイルの Glob パターン
  • exclude:対象から除外するファイルの Glob パターン
  • file_type:指定したファイルタイプのみを検索
5. list-file-types

ripgrep がサポートするすべてのファイルタイプを一覧表示します。

使用例

基本的な検索
{
  "name": "search",
  "arguments": {
    "pattern": "function",
    "max_matches": 10
  }
}
グローバルルートディレクトリを使った検索

サーバーで ROOT が設定されている場合、すべての検索は自動的にそのディレクトリ内に制限されます:

{
  "name": "search",
  "arguments": {
    "pattern": "import",
    "include": "*.ts",
    "max_matches": 5
  }
}
プロジェクト内のファイル数を数える
{
  "name": "count-matches",
  "arguments": {
    "pattern": "TODO",
    "include": "*.js"
  }
}
TypeScript ファイルを一覧表示する
{
  "name": "list-files",
  "arguments": {
    "include": "*.ts",
    "file_type": "typescript"
  }
}
コンテキストを指定した高度な検索
{
  "name": "advanced-search",
  "arguments": {
    "pattern": "class.*Controller",
    "include": "*.ts",
    "context": 2,
    "case_sensitive": true
  }
}
特定の検索でルートディレクトリを上書きする
{
  "name": "search",
  "arguments": {
    "pattern": "test",
    "root": "/path/to/tests",
    "include": "*.spec.js"
  }
}
ルートとパスを組み合わせた検索(v1.2.1+)

root と path の両方を指定すると、自動的に組み合わせられます:

{
  "name": "search",
  "arguments": {
    "pattern": "config",
    "root": "/path/to/project",
    "path": "src",
    "include": "*.ts",
    "max_matches": 50
  }
}

これにより、/path/to/project/src ディレクトリ内を検索します。

組み込みの制限を使った安全な検索(v1.2.1+)

過剰な出力を防ぐため、すべての検索に適切なデフォルト値が自動的に適用されます:

{
  "name": "search",
  "arguments": {
    "pattern": "import",
    "path": "src"
  }
}

結果は最大 100 件まで返され、タイムアウトとサイズの制限によって保護されます。

設定

基本設定

Claude Desktop の設定に追加します:

{
  "mcpServers": {
    "auu-mcp-rg": {
      "command": "npx",
      "args": ["auu-mcp-rg"]
    }
  }
}
ルートディレクトリの設定(推奨)

セキュリティを強化するため、デフォルトのルートディレクトリを設定し、すべての検索操作を制限します。

{
  "mcpServers": {
    "auu-mcp-rg": {
      "command": "npx",
      "args": ["auu-mcp-rg"],
      "env": {
        "ROOT": "/path/to/your/project"
      }
    }
  }
}

Windows の例:

{
  "mcpServers": {
    "auu-mcp-rg": {
      "command": "npx",
      "args": ["auu-mcp-rg"],
      "env": {
        "ROOT": "E:\\code\\my-project"
      }
    }
  }
}

macOS/Linux の例:

{
  "mcpServers": {
    "auu-mcp-rg": {
      "command": "npx",
      "args": ["auu-mcp-rg"],
      "env": {
        "ROOT": "/Users/username/my-project"
      }
    }
  }
}
設定オプション
  • ROOT:すべての検索操作に使用するデフォルトのルートディレクトリを設定します(任意ですが、推奨)
  • AUU_MCP_RG_VERSION:安定性のためにバージョンを固定します(任意)

ROOT を設定すると、明示的に上書きしない限り、すべてのツールでこのディレクトリが自動的に使用されます。

クロスプラットフォーム互換性の強化(v1.2.6)

このサーバーでは、インテリジェントなパス処理により、クロスプラットフォーム互換性が大幅に向上しました。

🆕 高度なクロスプラットフォーム機能

インテリジェントなパス解決:

  • プラットフォーム固有のパス形式を自動検出して処理します
  • ルートディレクトリを基準に相対パスをスマートに解決します
  • Node.js の path.relative() と path.isAbsolute() を使用して、プラットフォーム間でパスを検証します

汎用的なパスの正規化:

  • ripgrep との互換性のため、Windows のバックスラッシュをスラッシュに自動変換します
  • すべてのプラットフォームで一貫したパス処理を行います
  • 同じ環境で混在するパス形式をサポートします
プラットフォーム固有の最適化
Windows
  • ネイティブパスのサポート:Windows 形式のパス(C:\project\src)を完全にサポートします
  • コマンドのエスケープ:Windows に適したコマンド引数のエスケープ処理を行います
  • プロセス管理:Windows 向けに最適化されたプロセス起動を行います
macOS と Linux
  • Unix パス標準:POSIX パス(/home/user/project)をネイティブにサポートします
  • シェル統合:標準的な Unix シェルの動作に対応します
  • パフォーマンス:Unix のプロセス管理に合わせて最適化されています
🆕 クロスプラットフォームの例

Windows の設定:

{
  "mcpServers": {
    "auu-mcp-rg": {
      "command": "npx",
      "args": ["auu-mcp-rg"],
      "env": {
        "ROOT": "E:\\code\\my-project"
      }
    }
  }
}

macOS/Linux の設定:

{
  "mcpServers": {
    "auu-mcp-rg": {
      "command": "npx",
      "args": ["auu-mcp-rg"],
      "env": {
        "ROOT": "/home/username/my-project"
      }
    }
  }
}

クロスプラットフォームでのパスの使用:

{
  "name": "search",
  "arguments": {
    "pattern": "import",
    "root": "E:\\code\\project",  // Windows path
    "path": "src/utils"           // Relative path works on all platforms
  }
}
🆕 技術的な改善(v1.2.6)
  • パス検証の強化:信頼性の高いクロスプラットフォームの境界チェックのため、文字列照合ではなく path.relative() を使用します
  • 相対パスのサポート改善:ルートディレクトリを基準とした相対パスを適切に処理します
  • メモリの安全性:セキュリティ上の問題を防ぐため、パス処理を改善しました
  • パフォーマンス:パス解決と検証のアルゴリズムを最適化しました
  • 包括的なテスト:クロスプラットフォームのテスト範囲を大幅に拡充しました

Windows 互換性の修正

このサーバーでは、他の MCP ripgrep 実装で見つかった Windows 互換性の問題に対処しています。

  1. 適切なコマンドのエスケープ:Windows に適した引数のエスケープ処理を使用します
  2. プロセスの実行:シェルに依存せず、プロセスを直接起動します
  3. パス処理:スペースや特殊文字を含む Windows パスを適切に処理します
  4. ビルドプロセス:chmod などの Unix 固有のコマンドを削除しました

セキュリティとパフォーマンス機能(v1.1.0 以降)

グローバルルートディレクトリの設定

ROOT 環境変数を使用すると、すべての検索操作を特定のディレクトリに制限し、サーバー全体のセキュリティを確保できます。

{
  "mcpServers": {
    "auu-mcp-rg": {
      "command": "npx",
      "args": ["auu-mcp-rg"],
      "env": {
        "ROOT": "/path/to/project"
      }
    }
  }
}

メリット:

  • サーバー全体のセキュリティ:すべてのツールがルートディレクトリの境界を自動的に遵守します
  • 設定不要:個々のツール呼び出しでルートディレクトリを指定する必要はありません
  • 意図しないアクセスの防止:プロジェクトディレクトリ外にある機密ファイルを保護します
  • サンドボックス環境:検索範囲を制御し、セキュリティを強化します
  • マルチテナント対応:共有環境やチームプロジェクトに最適です
  • ディレクトリトラバーサル保護:ルートディレクトリ外のパスへのアクセスを防止します
呼び出しごとのルートディレクトリの上書き

個々のツール呼び出しで、別のルートディレクトリを指定することもできます。

{
  "name": "search",
  "arguments": {
    "pattern": "function",
    "root": "/different/path/project",
    "max_matches": 10
  }
}
パス検証
  • 自動検証:すべての検索パスをルートディレクトリに照らして検証します
  • 明確なエラーメッセージ:ルートディレクトリ外へのアクセスを試みると、説明的なエラーとともにブロックされます
  • 柔軟なパスのサポート:絶対パスと相対パスの両方に対応します
  • クロスプラットフォーム対応:Windows、macOS、Linux のパス形式を適切に処理します
パフォーマンスとメモリ保護(v1.2.1+)
  • 検索結果数の制限:過剰な出力を防ぐため、検索ごとに一致数を100件に制限します
  • 出力サイズの制限:メモリの問題を防ぐため、10MBで自動的に切り詰めます
  • タイムアウト保護:検索が応答しなくなるのを防ぐため、30秒でタイムアウトします
  • メモリの安全性:プロセスの終了とリソース管理を自動で行います
  • スマートなデフォルト設定:機能性と安全性のバランスを考慮した、適切なデフォルト設定です
スマートなパス処理(v1.2.1+)
  • パスの結合:rootとpathの両方が指定されている場合、両者を適切に結合します
  • 直感的な検索範囲:root: "/project", path: "src"を指定すると、/project/srcを検索します
  • 検証:結合したパスもセキュリティ境界に照らして検証されます
  • 後方互換性:既存の使用方法は変更なく引き続き利用できます

要件

  • Node.js 18+
  • ripgrepがインストールされ、PATHから利用できること
  • Windows、macOS、またはLinux

ライセンス

MIT

コメント

MCP は初めてですか?

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

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