About Dirgrep
Dirgrep is an MCP server published by AstraBert in the Developer Tools category: cLI tool and MCP server to grep an entire directory in one go. It has been installed 0 times through Conduid.
The repository has 5 stars and 2 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.
Install
npx dirgrepThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Dirgrep
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
dirgrep
dirgrep is a CLI tool to perform grep operations directory-wise.
Written in Go, it leverages the language built-in concurrency feature to execute grep operations concurrently on all files within a directory (even recursively!).
Install
In order to install dirgrep there are three ways:
- Using
go: if you already havego1.23+ installed in your environment, installing dirgrep is effortless
go install github.com/AstraBert/dirgrep
- Using
npm:
npm install @cle-does-things/dirgrep
- Downloading the executable from the releases page: you can download it directly from the GitHub repository or, if you do not want to leave your terminal, you can use
curl:
curl -L -o dirgrep https://github.com/AstraBert/dirgrep/releases/download/<version>/dirgrep_<version>_<OS>_<processor>.tar.gz ## e.g. https://github.com/AstraBert/dirgrep/releases/download/0.1.1/dirgrep_0.1.1_darwin_amd64.tar.gz
# make sure the downloaded binary is executable (not needed for Windows)
chmod +x dirgrep
In this last case, be careful to specify your OS (supported: linux, windows, macos) and your processor type (supported: amd, arm).
Usage
dirgrep [command] [flags]
Commands
mcp: Start an MCP server over stdio transport
Flags
-
-c,--context int
Number of characters of context to include around matches. Defaults to0. -
-d,--directory string
Directory to search for the pattern. Defaults to the current working directory ("."). -
-h,--help
Show the help message and exit. -
-p,--pattern string
Pattern to search for within the given directory. Required. -
-r,--recursive
Search files recursively. Defaults tofalse. -
-s,--skip strings
One or more sub-directories to skip. Can be specified multiple times or as comma-separated values. Defaults to an empty list. -
-x,--no-prettyDeactivate pretty-printing for the matches to the console.
Examples
# search for 'package main' in the current directory, excluding .git and .gitub
dirgrep --pattern 'package main' --skip .git --skip .github --recursive
# search in a specific directory non-recursively
dirgrep --pattern 'root' --directory cmd/
# add a context of 200 charachters around the match
dirgrep --pattern '202\d' --context 200
# deactivate pretty-printing
dirgrep --pattern '202\d' --context 100 --no-pretty
# start MCP server
dirgrep mcp
Benchmark
Python 3.9+ is required for running the benchmark
You can run the benchmark for dirgrep (VS other tools) using:
cd benchmark
bash run.sh
This will:
- Create 1 million files (approx. 4GB) under the
benchmark/filesdirectory, containing three random lines each. - Start
./dirgrepsearch for the patternA password forgot itself at dawn.(one of the random lines), redirecting the standard output tobenchmark_dirgrep.txt - Start
grepsearch recursively for the same pattern, redirecting the standard output tobenchmark_grep.txt - Start
ripgrepsearch recursively for the same pattern, redirecting the standard output tobenchmark_ripgrep.txt - Once the program is finished, you will have the time output for it.
In the latest run, dirgrep VS other tools performed as follows:
| Metric | dirgrep | grep | ripgrep | Description |
|---|---|---|---|---|
| user | 35.58s | 1.53s | 2.06s | CPU time in user mode (program code) |
| system | 454.60s | 27.67s | 38.44s | CPU time in system mode (kernel ops) |
| cpu | 1166% | 17% | 312% | CPU utilization across all cores |
| total | 42.037s | 166.34s | 12.940s | Actual elapsed wall-clock time |
Contributing
We welcome contributions! Please read our Contributing Guide to get started.
License
This project is licensed under the MIT License
README mirrored from the source repository 21 hours ago. The original is authoritative.