Sponsored by Deepsite.site

Tag

#ripgrep

1 results found

Ripgrep Mcp

Auu.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() and path.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 root and path are 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