dmtrKovalenko /fff
The fastest and the most accurate file search SDK for AI agents, Neovim, Rust, C, Python, Bun and NodeJS
★ 11,216⑂ 476👁 21▤ 851
11,216
stars
+0+5+288
476
forks
21
watchers
–
prs
–
issues
851
releases
–
discussions
README
A file search toolkit for humans and AI agents. Really fast.
Typo-resistant path and content search, frequency-ranked file access, a background watcher, and a lightweight in-memory content index. Way faster than CLIs like ripgrep and fzf in any long-running process that searches more than once.
Powers file search in opencode, nushell, and many more amazing projects!
Originally started as Neovim plugin people loved, but it turned out that plenty of AI harnesses and code editors need the same thing: accurate, fast file search as a library. That is what fff is.
---
Sponsors
fff is MIT and open source forever. Development is supported by these companies:
💎DIAMOND
AnomalyThe team behind opencode.
🥇GOLD
Mango ProxyFast, secure proxies for all the needs.
🥈SILVER
RapidProxyResidential proxies built for scraping at scale.
Use and enjoy fff? Become a sponsor to get your features/fixes the highest priority.
---
Pick what you are interested in:
MCP server
Works with Claude Code, Codex, OpenCode, Cursor, Cline, and any MCP-capable client. A resident Rust index supports file discovery and content search across tool calls.
!Measured search time and tokens for FFF MCP versus normal shell search
The chart compares warm FFF MCP with shell search in the small and big repos. Startup and indexing are excluded.
Six additional tasks were held out from tuning in the small repo. The big repo appears in the main comparison above, but did not have a separate held-out run.
| Held-out model | Shell time | FFF time | Shell tokens | FFF tokens |
| --- | ---: | ---: | ---: | ---: |
| Opus 5.5 | 10.7 s | 9.0 s | 58.3k | 49.2k |
| GPT-6 Astra | 8.1 s | 9.0 s | 43.9k | 49.3k |
Held-out chart. Both models returned all six expected answers in each recorded search mode. Tokens include cached input.
One-line install
Linux / macOS:
bash
curl -L https://dmtrkovalenko.dev/install-fff-mcp.sh | bash
Windows (PowerShell):
powershell
irm https://raw.githubusercontent.com/dmtrKovalenko/fff/main/install-mcp.ps1 | iex
The scripts live at install-mcp.sh and install-mcp.ps1 if you want to read them first. They print the exact wiring instructions for your client.
Homebrew (macOS / Linux)
bash
brew install dmtrKovalenko/fff/fff-mcp
brew upgrade fff-mcp after new stable releases
Formula lives in Formula/fff-mcp.rb in this repo and is auto-bumped on every stable release (see bump-homebrew-formula in .github/workflows/release.yaml). Installs the prebuilt fff-mcp binary from GitHub releases.
Codex setup
Register the installed binary using its absolute path, since Codex desktop sessions may not inherit your interactive shell's PATH.
Homebrew:
bash
codex mcp add fff -- "$(brew --prefix)/bin/fff-mcp"
One-line installer:
bash
codex mcp add fff -- "$HOME/.local/bin/fff-mcp"
This creates an entry in ~/.codex/config.toml similar to:
toml
[mcp_servers.fff]
command = "/opt/homebrew/bin/fff-mcp"
Use