The fastest and the most accurate file search SDK for AI agents, Neovim, Rust, C, Python, Bun and NodeJS

★ 11,216⑂ 476👁 21▤ 851
RustCreated 2025-08-01fff.dmtrkovalenko.dev/
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 

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON