Skip to content
Conduit

skill

fva

Xeon-Dot/fvacommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/Xeon-Dot/fva itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 26, 2026

FVA — FFF · Vector · AST

Hybrid codebase intelligence engine for AI coding agents. FVA combines FFF (fuzzy file search), vector embeddings, and AST chunking via Tree-sitter, plus call graphs, into a single MCP server — so agents search by path, content, meaning, and structure in one pass.

Why FVA

Most agent workflows chain grep → read_file → repeat. FVA replaces that loop with fused search:

  • File discovery — frecency-ranked fuzzy paths (FFF)
  • Semantic recall — embedding search over AST chunks
  • Structural context — call graph neighbors and symbol bodies
  • One MCP server — stdio transport, local-first, no telemetry

Install

Pre-built binaries are published on GitHub Releases for:

Platformamd64arm64
Linux✓✓
Windows✓✓
macOS—✓

One-liner

Linux / macOS (Apple Silicon)

curl -fsSL https://raw.githubusercontent.com/Xeon-Dot/fva/main/scripts/install.sh | bash

Windows (PowerShell)

irm https://raw.githubusercontent.com/Xeon-Dot/fva/main/scripts/install.ps1 | iex

Installs to ~/.local/bin (Unix) or %LOCALAPPDATA%\Programs\fva\bin (Windows) and adds the directory to your user PATH.

Pin a version

FVA_VERSION=v0.2.0 curl -fsSL https://raw.githubusercontent.com/Xeon-Dot/fva/main/scripts/install.sh | bash
$env:FVA_VERSION = "v0.2.0"; irm https://raw.githubusercontent.com/Xeon-Dot/fva/main/scripts/install.ps1 | iex

Manual download

Download the archive for your platform from Releases, verify against SHA256SUMS.txt, and place fva (or fva.exe) on your PATH.

Build from source

Requires Rust 1.75+.

git clone https://github.com/Xeon-Dot/fva.git
cd FVA
cargo build --release

Binary: target/release/fva (.exe on Windows).

Intel Mac has no pre-built binary yet — use cargo install --path . or build from source.

Quick Start

# Verify install
fva --version

# Start MCP server (default mode)
fva --path /path/to/project

# Build full index (AST + vectors + call graph)
fva index --path .

# Check index status
fva status --path .

# CLI hybrid search
fva search "authentication handler" --path . --limit 5

On first run, FVA creates a .fva/ directory in the project root for indexes, frecency data, and vectors.

MCP Client Setup

Add FVA to your MCP client config. Use the installed binary path on your system.

Ready-to-copy examples for each agent tool live in examples/mcp-clients/. See manifest.json for install paths.

AgentExample fileInstall location
Cursor (project)cursor.project.mcp.json<project>/.cursor/mcp.json
Claude Desktopclaude-desktop.*.jsonOS-specific — see manifest
Claude Codeclaude-code.project.mcp.json<project>/.mcp.json
VS Code / Copilotvscode.workspace.mcp.json<project>/.vscode/mcp.json
Windsurf / Cascadewindsurf.mcp_config.json~/.codeium/windsurf/mcp_config.json
Zedzed.context_servers.jsonMerge into Zed settings.json
Continuecontinue.fva.yaml<project>/.continue/mcpServers/
Gemini CLIgemini-cli.settings.jsonMerge into ~/.gemini/settings.json
Cline / Roo Codecline.mcp_settings.jsonExtension MCP settings

macOS / Linux (generic mcpServers format)

{
  "mcpServers": {
    "fva": {
      "command": "fva",
      "args": ["--path", "/path/to/your/project"],
      "env": { "RUST_LOG": "info" }
    }
  }
}

Windows

{
  "mcpServers": {
    "fva": {
      "command": "C:\\Users\\You\\AppData\\Local\\Programs\\fva\\bin\\fva.exe",
      "args": ["--path", "D:\\Dev\\YourProject"],
      "env": { "RUST_LOG": "info" }
    }
  }
}

If fva is on PATH, the short "command": "fva" form works on all platforms.

Recommended agent prompt

For codebase exploration, use FVA MCP tools:
- hybrid_search: default — combines file search + semantic + call graph
- semantic_search: natural language concept search
- get_smart_context: token-efficient context for a task
- get_symbol_info / get_chunks: full function/class bodies
- get_call_graph: callers and callees
Prefer hybrid_search over repeated grep+read cycles.

MCP Tools

ToolDescription
hybrid_searchDefault. FFF + vector + graph fusion
semantic_searchNatural language embedding search
find_filesFuzzy path search, frecency-ranked
grepContent search with definition expansion
get_chunksAST chunks by file or query
get_symbol_infoSymbol lookup with full source
get_call_graphCallers/callees of a function
get_smart_contextToken-budget smart context builder
index_statusFull indexing statistics

Configuration

Copy config.example.toml to fva.toml (or .fva.toml) in the project root, and/or to ~/.config/fva/config.toml for global defaults. Project settings override global; CLI --config overrides both.

[embedding]
provider = "local"    # "local" (default) or "voyage"
model = "voyage-code-3"

[vector]
backend = "lancedb"    # "lancedb" (default, native LanceDB) | "lancedb-native" (alias)
db_path = "vectors"

[query]
fff_weight = 0.3
vector_weight = 0.5
graph_weight = 0.2
bm25_weight = 0.35
max_context_tokens = 8000

CLI flags override config: --path, --config, --log-level / RUST_LOG.

Voyage API (optional)

For higher-quality embeddings, switch provider and set your API key:

[embedding]
provider = "voyage"
export VOYAGE_API_KEY=your-key-here

Architecture

┌─────────────────────────────────────────────────────────────┐
│                    MCP Server (stdio)                        │
│  hybrid_search │ semantic_search │ grep │ find_files │ ... │
└─────────────┬───────────────────────┬───────────────────────┘
              │                       │
     ┌────────▼────────┐     ┌────────▼────────┐
     │   FFF Engine    │     │  AST Indexer    │
     │ frecency+fuzzy  │     │  Tree-sitter    │
     │  git-aware grep │     │  chunk store    │
     └────────┬────────┘     └────────┬────────┘
              │                ┌───────▼────────┐
              │                │  Vector Store  │
              │                │  (flat/LanceDB)│
              │                └───────┬────────┘
              │                ┌───────▼────────┐
              │                │  Call Graph    │
              │                │  (petgraph)    │
              └────────┬───────┴────────┬───────┘
                       │                │
                ┌──────▼────────────────▼──────┐
                │     Hybrid Query Engine      │
                │  FFF → Vector → Graph fusion  │
                └──────────────────────────────┘

Development Status

PhaseFeatureStatus
1FFF MCP + Tree-sitter chunkingDone
2Embedding pipeline + vector storeDone
3Call graph + hybrid query engineDone
4Full MCP tool set + CLIDone
5Large-scale benchmarks + docsPlanned

Module Structure

src/
├── main.rs            # CLI (serve, index, status, search)
├── engine.rs          # Central orchestrator
├── embedding/         # local-hash + voyage providers
├── vector/            # flat vector store (LanceDB optional)
├── graph/             # call graph (petgraph)
├── indexer/           # AST parsing + chunking + pipeline
├── query/             # hybrid search + smart context
├── fff/               # FFF integration
└── mcp/               # MCP tool handlers

Performance Targets

OperationTargetNotes
File search (100k files)< 50msFFF frecency + SIMD
Grep (warm index)< 100msmmap + content index
AST chunk (single file)< 5msTree-sitter
Vector search (10k chunks)< 50msflat brute-force
Hybrid search< 200ms3-stage fusion
Full index (10k files)< 30srayon parallel

Security

  • Sandboxed indexing — project root only
  • No telemetry — all data stored locally in .fva/
  • Embeddings are local by default; Voyage only when explicitly configured

License

MIT

↑↓ navigate openesc close