MCP that provides fast, token-efficient tools for navigating, searching, and understanding codebases
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Give your AI coding agents superpowers β a local MCP server for fast, token-efficient code navigation, search & analysis.
Works with VS Code Copilot, Cursor, Claude Code/Desktop, Codex, Cline, Zed, Gemini CLI, Goose, OpenCode, and any other MCP-compatible agent.
AI coding agents waste tokens re-reading files and searching blindly. ABF gives them purpose-built tools that return exactly what they need β in compact, structured responses that preserve context.
| Tool | What it does |
|---|---|
abf_search | Code search β exact (ripgrep), keyword-ranked, or semantic (embedding-based) |
abf_search_multi | Run multiple search queries (exact/keyword/semantic) in one call with weighted score merging |
abf_symbols | Functions, classes, exports in a file (AST-based for TS/JS, regex for Python) |
abf_chunk | Smart file chunk by symbol name, chunk index, or file overview |
abf_project_overview | Tech stack, folder structure, key dependencies at a glance |
abf_dependencies | Import graph β who imports what |
abf_impact | Find all usages of a symbol across the project |
abf_impact_typed | AST-aware (ts-morph) impact analysis with classified references (definition/call/import/type_ref/jsx) and confidence levels |
abf_blast_radius | BFS over reverse-import graph for a file with risk scoring (low/medium/high) |
abf_related_tests | Heuristically rank test files most likely to cover a file or symbol |
abf_preview_changes | Read-only preview: diff + symbol/import deltas + risk flags + external usage probe (no writes) |
abf_refactor_plan | Read-only ordered edit plan for rename/move/extract/split with collision detection |
abf_apply_edit | Write tool β atomic file write with sha256 hash check (disabled unless ABF_ENABLE_WRITES=1) |
abf_diagnostics | TypeScript diagnostics (errors/warnings) for one file or all tracked TS/JS files |
abf_definition | Goto-definition via the TypeScript language service β file, line range, and source preview |
abf_hover | Type signature + JSDoc for an identifier (IDE-style hover) |
abf_call_graph | Transitive callers/callees of a function or method (TS/JS, ts-morph) |
abf_git | Git log, blame, diff (recent/staged/unstaged) |
abf_file_summary | Full-text search across LLM-generated file summaries (FTS5, OR/AND mode) |
abf_conventions | Detected naming, structure, and formatting conventions |
abf_index | Index status, rebuild, incremental update, or trigger re-summarization |
abf_ping | Health check β returns version and project root |
brew install ripgrep (macOS) / apt install ripgrep (Linux)abf init walks you through everything:
git ls-files(12/80) progress.abf/ to .gitignore β prompts before writingnpx agentsbestfriend start (always latest) or abf start (local install)If you prefer to configure manually, add ABF as a stdio MCP server. Using npx is recommended β it always runs the latest published version without requiring a global install:
VS Code / GitHub Copilot (.vscode/mcp.json):
Cursor (.cursor/mcp.json):
Claude Desktop (claude_desktop_config.json):
Set
ABF_PROJECT_ROOTin theenvblock if the agent does not pass its working directory automatically.
ABF maintains a lightweight SQLite index (.abf/index.db) inside each project root. The index is built once and updated incrementally β only changed files are re-processed. A file watcher keeps it current as you edit.
| Table | Contents |
|---|---|
files | Paths, hashes, languages, line counts, LLM summaries |
symbols | Functions, classes, interfaces, types (AST-extracted) |
imports | Dependency edges between files |
embeddings | Float32 vectors for semantic search (chunked for large files) |
file_chunks | Smart chunks aligned to symbol boundaries |
files_fts | FTS5 full-text index over summaries |
With Ollama running locally, ABF generates file summaries and embeddings:
Both abf init and abf portal β Re-index show live progress:
Large files are automatically split into chunks for embedding β no context-length errors.
Without Ollama, all tools still work normally. Semantic search falls back to keyword mode.
Global config at ~/.abf/config.json. Edit interactively with abf config or via abf portal.
Built with Turborepo + pnpm workspaces. Core modules:
| Module | Purpose |
|---|---|
@abf/core/db | Drizzle ORM + SQLite (WAL, FTS5) |
@abf/core/config | Zod-validated config |
@abf/core/search | ripgrep, keyword scorer, semantic (cosine similarity) |
@abf/core/analysis | ts-morph AST, conventions detector, project overview |
@abf/core/indexer | git ls-files discovery, incremental pipeline, file watcher |
@abf/core/llm | Ollama client, summary & chunked embedding pipelines |
@abf/core/git | Git CLI wrapper |
MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/agentsbestfriend)<a href="https://allmcps.com/mcp/agentsbestfriend"><img src="https://allmcps.com/api/badge/agentsbestfriend?style=directory" alt="Agentsbestfriend on AllMCPs" /></a>