About Ripgrep Mcp
Ripgrep Mcp is a cross-platform MCP server that exposes ripgrep search tools for developers and coding agents. Root-directory controls, path validation, and output safeguards constrain searches and results.
Key features
- 01Multiple ripgrep search tools
- 02Support for ripgrep options and flags
- 03Global or per-call root directories
- 04Path validation and traversal protection
- 05Result, output-size, and timeout limits
- 06Windows, macOS, and Linux support
Use cases
- 01Find code patterns within a project
- 02Count matches or list searchable files
- 03Restrict searches to prevent access beyond a directory
MCP support
The MCP server exposes search, advanced-search, count-matches, list-files, and list-file-types tools to clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| pattern | string | Yes | The pattern to search for |
| root | string | No | The root directory to limit search scope (optional, search will be restricted to this directory) |
| path | string | No | The path to search in (optional, must be within root if specified) |
| include | string | No | Include files matching this glob pattern |
| exclude | string | No | Exclude files matching this glob pattern |
| context | number | No | Number of context lines to show |
| max_matches | number | No | Maximum number of matches to return (default: 100) |
| case_sensitive | boolean | No | Case sensitive search |
| word_boundaries | boolean | No | Match whole words only |
| file_type | string | No | Only search files of this type |
Details
From the project READMEAuu.Mcp.Rg
A cross-platform MCP (Model Context Protocol) server for ripgrep that provides powerful search capabilities with seamless support for Windows, macOS, and Linux, plus enhanced security features.
Features
- 🌟 Cross-Platform Compatible: Native support for Windows, macOS, and Linux with intelligent path handling (v1.2.6)
- 🔧 Search Tools: Multiple search tools for different use cases
- 📋 Full ripgrep Support: Supports all ripgrep options and flags
- 🚀 npx Deployable: Can be run directly with npx
- 🆕 Global Root Directory: Server-wide root directory configuration via environment variable (v1.2.0)
- 🆕 Enhanced Security: Automatic path validation and directory traversal protection (v1.2.0)
- 🆕 Flexible Configuration: Per-call root override capability (v1.2.0)
- 🆕 Smart Path Handling: Properly combines root and path parameters for intuitive search scope (v1.2.1)
- 🆕 Performance Safeguards: Built-in result limits (default: 100), output size limits (10MB), and timeout protection (30s) (v1.2.1)
- 🆕 Memory Protection: Automatic output truncation to prevent memory leaks (v1.2.1)
- 🆕 Intelligent Path Resolution: Cross-platform path normalization and validation using Node.js path utilities (v1.2.6)
Installation
npm install -g auu-mcp-rg
Or use with npx:
npx auu-mcp-rg
Tools Available
1. search
Basic search with common options:
- pattern: The search pattern (required)
- root: The root directory to limit search scope (optional, search will be restricted to this directory)
- path: Directory to search in (optional, must be within root if specified, combines with root for intuitive search scope)
- include: Glob pattern for files to include
- exclude: Glob pattern for files to exclude
- context: Number of context lines
- max_matches: Maximum number of matches to return (default: 100)
- case_sensitive: Case sensitive search
- word_boundaries: Match whole words only
- file_type: Only search specific file types
2. advanced-search
Full access to all ripgrep options with complete parameter support.
3. count-matches
Count matches instead of showing them:
- pattern: The search pattern (required)
- root: The root directory to limit search scope (optional, search will be restricted to this directory)
- path: Directory to search in (optional, must be within root if specified, combines with root for intuitive search scope)
- include: Glob pattern for files to include
- exclude: Glob pattern for files to exclude
- case_sensitive: Case sensitive search
- file_type: Only search specific file types
4. list-files
List all files that would be searched:
- root: The root directory to limit search scope (optional, search will be restricted to this directory)
- path: Directory to search in (optional, must be within root if specified, combines with root for intuitive search scope)
- include: Glob pattern for files to include
- exclude: Glob pattern for files to exclude
- file_type: Only search specific file types
5. list-file-types
List all supported file types by ripgrep.
Usage Examples
Basic Search
{
"name": "search",
"arguments": {
"pattern": "function",
"max_matches": 10
}
}
Search with Global Root Directory
When ROOT is configured in the server, all searches are automatically limited to that directory:
{
"name": "search",
"arguments": {
"pattern": "import",
"include": "*.ts",
"max_matches": 5
}
}
Count Files in Project
{
"name": "count-matches",
"arguments": {
"pattern": "TODO",
"include": "*.js"
}
}
List TypeScript Files
{
"name": "list-files",
"arguments": {
"include": "*.ts",
"file_type": "typescript"
}
}
Advanced Search with Context
{
"name": "advanced-search",
"arguments": {
"pattern": "class.*Controller",
"include": "*.ts",
"context": 2,
"case_sensitive": true
}
}
Override Root Directory for Specific Search
{
"name": "search",
"arguments": {
"pattern": "test",
"root": "/path/to/tests",
"include": "*.spec.js"
}
}
Combined Root and Path Search (v1.2.1+)
When both root and path are specified, they are automatically combined:
{
"name": "search",
"arguments": {
"pattern": "config",
"root": "/path/to/project",
"path": "src",
"include": "*.ts",
"max_matches": 50
}
}
This searches in /path/to/project/src directory.
Safe Search with Built-in Limits (v1.2.1+)
All searches automatically include sensible defaults to prevent excessive output:
{
"name": "search",
"arguments": {
"pattern": "import",
"path": "src"
}
}
This will return at most 100 results and is protected by timeout and size limits.
Configuration
Basic Configuration
Add to your Claude Desktop configuration:
{
"mcpServers": {
"auu-mcp-rg": {
"command": "npx",
"args": ["auu-mcp-rg"]
}
}
}
Root Directory Configuration (Recommended)
For enhanced security, configure a default root directory to limit all search operations:
{
"mcpServers": {
"auu-mcp-rg": {
"command": "npx",
"args": ["auu-mcp-rg"],
"env": {
"ROOT": "/path/to/your/project"
}
}
}
}
Windows Example:
{
"mcpServers": {
"auu-mcp-rg": {
"command": "npx",
"args": ["auu-mcp-rg"],
"env": {
"ROOT": "E:\\code\\my-project"
}
}
}
}
macOS/Linux Example:
{
"mcpServers": {
"auu-mcp-rg": {
"command": "npx",
"args": ["auu-mcp-rg"],
"env": {
"ROOT": "/Users/username/my-project"
}
}
}
}
Configuration Options
- ROOT: Sets the default root directory for all search operations (optional but recommended)
- AUU_MCP_RG_VERSION: Version pinning for stability (optional)
When ROOT is configured, all tools will automatically use this directory unless explicitly overridden.
Enhanced Cross-Platform Compatibility (v1.2.6)
This server now offers superior cross-platform compatibility with intelligent path handling:
🆕 Advanced Cross-Platform Features
Intelligent Path Resolution:
- Automatic detection and handling of platform-specific path formats
- Smart relative path resolution relative to the root directory
- Cross-platform path validation using Node.js
path.relative()andpath.isAbsolute()
Universal Path Normalization:
- Automatic conversion of Windows backslashes to forward slashes for ripgrep compatibility
- Consistent path handling across all platforms
- Support for mixed path formats in the same environment
Platform-Specific Optimizations
Windows
- Native Path Support: Full support for Windows-style paths (
C:\project\src) - Command Escaping: Proper Windows command argument escaping
- Process Management: Windows-optimized process spawning
macOS & Linux
- Unix Path Standards: Native support for POSIX paths (
/home/user/project) - Shell Integration: Standard Unix shell behavior
- Performance: Optimized for Unix process management
🆕 Cross-Platform Examples
Windows Configuration:
{
"mcpServers": {
"auu-mcp-rg": {
"command": "npx",
"args": ["auu-mcp-rg"],
"env": {
"ROOT": "E:\\code\\my-project"
}
}
}
}
macOS/Linux Configuration:
{
"mcpServers": {
"auu-mcp-rg": {
"command": "npx",
"args": ["auu-mcp-rg"],
"env": {
"ROOT": "/home/username/my-project"
}
}
}
}
Cross-Platform Path Usage:
{
"name": "search",
"arguments": {
"pattern": "import",
"root": "E:\\code\\project", // Windows path
"path": "src/utils" // Relative path works on all platforms
}
}
🆕 Technical Improvements (v1.2.6)
- Enhanced Path Validation: Uses
path.relative()instead of string matching for reliable cross-platform boundary checking - Improved Relative Path Support: Proper handling of relative paths relative to the root directory
- Memory Safety: Improved path handling to prevent security issues
- Performance: Optimized path resolution and validation algorithms
- Comprehensive Testing: Added extensive cross-platform test coverage
Windows Compatibility Fixes
This server addresses several Windows compatibility issues found in other MCP ripgrep implementations:
- Proper Command Escaping: Uses Windows-appropriate argument escaping
- Process Execution: Direct process spawning without shell dependencies
- Path Handling: Proper handling of Windows paths with spaces and special characters
- Build Process: Removed Unix-specific commands like
chmod
Security & Performance Features (v1.1.0+)
Global Root Directory Configuration
The ROOT environment variable provides server-wide security by limiting all search operations to a specific directory:
{
"mcpServers": {
"auu-mcp-rg": {
"command": "npx",
"args": ["auu-mcp-rg"],
"env": {
"ROOT": "/path/to/project"
}
}
}
}
Benefits:
- Server-wide Security: All tools automatically respect the root directory boundary
- Zero Configuration Needed: No need to specify root in individual tool calls
- Prevents Accidental Access: Protects sensitive files outside the project directory
- Sandboxed Environment: Provides controlled search scope for enhanced security
- Multi-tenant Support: Ideal for shared environments and team projects
- Directory Traversal Protection: Blocks attempts to access paths outside the root
Per-Call Root Override
You can still specify a different root directory for individual tool calls:
{
"name": "search",
"arguments": {
"pattern": "function",
"root": "/different/path/project",
"max_matches": 10
}
}
Path Validation
- Automatic Validation: All search paths are validated against the root directory
- Clear Error Messages: Attempts to access paths outside the root are blocked with informative errors
- Flexible Path Support: Works with both absolute and relative paths
- Cross-Platform: Proper handling of Windows, macOS, and Linux path formats
Performance & Memory Protection (v1.2.1+)
- Result Limits: Built-in limit of 100 matches per search to prevent excessive output
- Output Size Limits: Automatic truncation at 10MB to prevent memory issues
- Timeout Protection: 30-second timeout to prevent hanging searches
- Memory Safety: Automatic process cleanup and resource management
- Smart Defaults: Sensible defaults that balance functionality with safety
Smart Path Handling (v1.2.1+)
- Path Combination: When both
rootandpathare specified, they are intelligently combined - Intuitive Search Scope:
root: "/project", path: "src"searches in/project/src - Validation: Combined paths are still validated against security boundaries
- Backward Compatible: Existing usage patterns continue to work unchanged
Requirements
- Node.js 18+
- ripgrep installed and available in PATH
- Windows, macOS, or Linux
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.