Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>FFF for VS CodeNew to Visual Studio Code? Get it now.
FFF for VS Code

FFF for VS Code

Code Hz

|
3 installs
| (0) | Free
Workspace-scoped FFF search tools for Copilot Chat. Spawns fff-mcp per project and exposes native language model tools.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

FFF for VS Code

Workspace-scoped fff-mcp search tools for Copilot Chat and other language-model clients in VS Code.

Why an extension?

Global / user-level MCP configs for fff-mcp often start with no project path, so the server falls back to the process working directory (frequently $HOME) and tries to index everything.

This extension:

  1. Always passes the current workspace folder as the index root to fff-mcp.
  2. Exposes FFF as native language model tools (grep, find_files, multi_grep) instead of registering an MCP server in VS Code.

Native tools avoid Copilot’s MCP UI forcing raw tool-call JSON into the chat transcript (which breaks the “N tool calls” collapsible block and wastes space). Tool results also attach Chat’s expandable file/location list (toolResultDetails) when paths can be parsed from fff output. Completion messages (pastTenseMessage / toolResultMessage) are used only when the chatParticipantPrivate proposed API is available (Extension Development Host or allowlisted builds).

Requirements

  • VS Code 1.125+ (or compatible)
  • System-installed fff-mcp on PATH (or configure fff.binaryPath)

Install fff-mcp (example):

curl -fsSL https://raw.githubusercontent.com/dmtrKovalenko/fff.nvim/main/install-mcp.sh | bash

What you get

Tool # reference Purpose
grep #grep Content search (default) — pattern + optional constraints
find_files #find_files Fuzzy file-name search — query + optional constraints
multi_grep #multi_grep OR search across multiple patterns — patterns + optional constraints

Under the hood the extension spawns fff-mcp for the workspace folder and forwards tool calls over stdio JSON-RPC. Tools always target the first enabled workspace folder (single-root is the primary scenario). File filters go in constraints, not mixed into the search text — the same explicit style as multi_grep.

Migration from MCP

If you previously used this extension’s MCP server provider (≤ 0.0.x) or a global fff entry in user mcp.json:

  1. Remove any global / user fff-mcp MCP entries so tools are not duplicated.
  2. Reload the window; enable FFF Grep / Find Files / Multi Grep in Chat tools if prompted.
  3. First invocation may ask for confirmation — choose Always Allow for a smoother agent loop.

Settings

Setting Scope Default Description
fff.enabled resource true Enable FFF tools for this folder
fff.binaryPath machine-overridable fff-mcp Path to the executable
fff.extraArgs resource ["--no-update-check"] Extra args after the workspace path
fff.frecencyDb resource "" Optional --frecency-db
fff.historyDb resource "" Optional --history-db
fff.logFile resource "" Optional --log-file
fff.logLevel resource "" Optional --log-level
fff.maxCachedFiles resource null Optional --max-cached-files

Example (user or workspace settings.json):

{
  "fff.binaryPath": "/usr/bin/fff-mcp",
  "fff.extraArgs": ["--no-update-check", "--no-warmup"],
  "fff.maxCachedFiles": 20000
}

Commands

  • FFF: Show Status — print resolved command/args and whether an fff-mcp session is running for each folder.

Development

npm install
npm run compile
# F5 → "Run Extension"

In the Extension Development Host:

  1. Open a project folder.
  2. Open Chat (agent mode) and confirm FFF tools appear (not as an MCP server).
  3. Optionally run FFF: Show Status.

Notes

  • Prefer this extension over a global fff entry in user mcp.json for project work.
  • Child processes are owned by the extension and killed on deactivate / config change.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft