A replace tool an agent can call is only safe if the careless call is the harmless one, and here it is: `dryRun` is on and `backup` is on until you turn them off, and the file cap stops a bad pattern from touching a thousand files. On the search side, boolean and fuzzy matching are the two that a plain grep wrapper cannot do — finding urgent TODOs that are not marked done, or an identifier whose spelling you got wrong, in one call.
An MCP server built on ugrep that gives an assistant both halves of a refactor: finding things and changing them. Search covers plain patterns, boolean expressions, approximate matching, compressed archives and language-aware code structures; replacement runs in preview mode unless you say otherwise and writes timestamped backups when it does.
- Pattern search with file-type include and exclude lists, context lines and a result cap that defaults to 100 — `basic_search`
- Boolean queries with AND, OR, NOT and parentheses, so `error AND (critical OR fatal)` is one search rather than three — `boolean_search`
- Approximate matching that tolerates 1 to 9 character errors, defaulting to 2, for the identifier you cannot quite remember — `fuzzy_search`
- Search inside compressed files and nested archives without extracting them — `archive_search`
- Code structures found by kind — function, class, method, import or variable — in JavaScript, TypeScript, Python, Java or C++ — `code_structure_search`
- Find and replace with capture groups, dry run on by default, backups on by default, and a file cap that defaults to 50 — `search_and_replace`
- Several replacements applied in one pass, each with its own pattern and description — `bulk_replace`
- Language-aware renaming of a function, class, variable or import across the codebase — `code_refactor`
- The supported file types listed and search statistics reported — `list_file_types`, `get_search_stats`
- Ugrep's interactive terminal mode launched, for the cases where you want to drive the search yourself — `interactive_search`
No account and no key. ugrep must be installed and on your PATH — `ugrep --version` should report 7.4 or higher — via `apt-get`, Homebrew, Chocolatey or from source. Node.js 18 or higher. The npm package name is `codeseeker-mcp` (0.1.0); build from a clone with `npm install` and `npm run build`, then point your client at the built `index.js`. Interactive mode needs a real terminal and cannot run through MCP, so treat it as a command it hands you rather than a search it performs.
One command — npx -y github:mixelpixx/CodeSeeker-MCP
