Agentsbestfriend

io.github.TheRealFloatDev由 GitHub 帳號 TheRealFloatDev 發布v0.12.0更新於 Oct 24, 2026

MCP that provides fast, token-efficient tools for navigating, searching, and understanding codebases

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

一個本機 MCP 伺服器,為編碼助理提供節省 token 的工具,用來搜尋、瀏覽與分析專案程式碼庫。

可以做什麼
AgentsBestFriend 會將專案索引到本機 SQLite 資料庫,並提供程式碼搜尋(精確、關鍵字或語意)、符號與程式碼區塊擷取、專案概觀、匯入圖、影響範圍與爆炸半徑分析、相關測試排序、TypeScript 診斷、定義/懸停查詢、呼叫圖,以及 git log/blame/diff 等工具。它也提供唯讀的變更預覽與重構規劃工具,以及一個可選的原子寫入工具。可選的 Ollama 整合可產生 LLM 檔案摘要與嵌入向量。
適用情境
當助理在大型程式碼庫中反覆重讀檔案或盲目搜尋,而你希望取得關於符號、相依性與變更影響的緊湊結構化答案時,它很有用。最適合 TypeScript/JavaScript 專案,對 Python 提供以正規表達式為基礎的支援。
執行需求
透過 stdio 在本機執行,通常使用 npx agentsbestfriend start 或全域 npm 安裝。需要 Node.js 20 或更新版本、ripgrep 與 git。Ollama 為選用,用於摘要與語意搜尋。環境變數 ABF_PROJECT_ROOT 用於指定專案根目錄,未設定時預設為目前工作目錄。
安裝前請注意
此伺服器會將專案檔案索引到本機 .abf/index.db,並可能將 .abf/ 加入 .gitignore。寫入工具 abf_apply_edit 預設停用,除非設定 ABF_ENABLE_WRITES=1;啟用後它會修改檔案,因此應先檢視建議的編輯。若使用 Ollama,檔案內容會傳送到 ~/.abf/config.json 中設定的本機 Ollama 端點。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Agentsbestfriend,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

AgentsBestFriend (abf)

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.


Why?

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.

Tools

ToolWhat it does
abf_searchCode search — exact (ripgrep), keyword-ranked, or semantic (embedding-based)
abf_search_multiRun multiple search queries (exact/keyword/semantic) in one call with weighted score merging
abf_symbolsFunctions, classes, exports in a file (AST-based for TS/JS, regex for Python)
abf_chunkSmart file chunk by symbol name, chunk index, or file overview
abf_project_overviewTech stack, folder structure, key dependencies at a glance
abf_dependenciesImport graph — who imports what
abf_impactFind all usages of a symbol across the project
abf_impact_typedAST-aware (ts-morph) impact analysis with classified references (definition/call/import/type_ref/jsx) and confidence levels
abf_blast_radiusBFS over reverse-import graph for a file with risk scoring (low/medium/high)
abf_related_testsHeuristically rank test files most likely to cover a file or symbol
abf_preview_changesRead-only preview: diff + symbol/import deltas + risk flags + external usage probe (no writes)
abf_refactor_planRead-only ordered edit plan for rename/move/extract/split with collision detection
abf_apply_editWrite tool — atomic file write with sha256 hash check (disabled unless ABF_ENABLE_WRITES=1)
abf_diagnosticsTypeScript diagnostics (errors/warnings) for one file or all tracked TS/JS files
abf_definitionGoto-definition via the TypeScript language service — file, line range, and source preview
abf_hoverType signature + JSDoc for an identifier (IDE-style hover)
abf_call_graphTransitive callers/callees of a function or method (TS/JS, ts-morph)
abf_gitGit log, blame, diff (recent/staged/unstaged)
abf_file_summaryFull-text search across LLM-generated file summaries (FTS5, OR/AND mode)
abf_conventionsDetected naming, structure, and formatting conventions
abf_indexIndex status, rebuild, incremental update, or trigger re-summarization
abf_pingHealth check — returns version and project root

Install

bash
npm install -g agentsbestfriend

Prerequisites

  • Node.js ≥ 20
  • ripgrep — brew install ripgrep (macOS) / apt install ripgrep (Linux)
  • git
  • Ollama (optional) — for summaries & semantic search: ollama.com

Quick Start

bash
abf init

abf init walks you through everything:

  1. Indexes your project — discovers and indexes all files via git ls-files
  2. Generates LLM summaries & embeddings (if Ollama is running) — with live (12/80) progress
  3. Adds .abf/ to .gitignore — prompts before writing
  4. Installs ABF as an MCP server for your agents — you pick which agents (Cursor, VS Code, Claude Code, etc.) and whether to use npx agentsbestfriend start (always latest) or abf start (local install)

Manual Agent Setup

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):

json
{  "servers": {    "abf": {      "command": "npx",      "args": ["agentsbestfriend", "start"]    }  }}

Cursor (.cursor/mcp.json):

json
{  "mcpServers": {    "abf": {      "command": "npx",      "args": ["agentsbestfriend", "start"]    }  }}

Claude Desktop (claude_desktop_config.json):

json
{  "mcpServers": {    "abf": {      "command": "npx",      "args": ["agentsbestfriend", "start"]    }  }}

Set ABF_PROJECT_ROOT in the env block if the agent does not pass its working directory automatically.

CLI Commands

abf start             Start MCP server in stdio mode (used by agents)abf init [path]       Index project, set up .gitignore entry, install MCP for agentsabf skill [path]      Install or update the ABF workflow skill for your coding agentsabf index [path]      Re-index a project (incremental by default)abf status [path]     Show index statsabf config            Interactive configuration editorabf doctor            Health checks (Node, ripgrep, git, Ollama)abf portal            Interactive TUI dashboard

How It Works

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.

TableContents
filesPaths, hashes, languages, line counts, LLM summaries
symbolsFunctions, classes, interfaces, types (AST-extracted)
importsDependency edges between files
embeddingsFloat32 vectors for semantic search (chunked for large files)
file_chunksSmart chunks aligned to symbol boundaries
files_ftsFTS5 full-text index over summaries

Optional: LLM Enrichment

With Ollama running locally, ABF generates file summaries and embeddings:

bash
ollama pull qwen2.5-coder:1.5b    # file summariesollama pull nomic-embed-text       # embeddings / semantic search

Both abf init and abf portal → Re-index show live progress:

◆  Generating LLM summaries... (14/80)◆  Generating embeddings... (28/80)

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.

Configuration

Global config at ~/.abf/config.json. Edit interactively with abf config or via abf portal.

json
{  "llm": {    "provider": "ollama",    "ollama": {      "baseUrl": "http://localhost:11434",      "summaryModel": "qwen2.5-coder:1.5b",      "embeddingModel": "nomic-embed-text"    }  },  "indexing": {    "autoWatch": true,    "respectGitignore": true,    "maxFileSizeKb": 512,    "excludedPatterns": ["*.min.js", "*.min.css", "*.map", "*.lock"]  },  "search": {    "defaultMaxResults": 20  }}

Architecture

AgentsBestFriend/├── packages/│   ├── core/     Shared logic — DB, config, search, analysis, indexer, LLM│   ├── server/   MCP server (11 tools)│   └── cli/      Commander.js CLI + TUI portal├── turbo.json└── package.json

Built with Turborepo + pnpm workspaces. Core modules:

ModulePurpose
@abf/core/dbDrizzle ORM + SQLite (WAL, FTS5)
@abf/core/configZod-validated config
@abf/core/searchripgrep, keyword scorer, semantic (cosine similarity)
@abf/core/analysists-morph AST, conventions detector, project overview
@abf/core/indexergit ls-files discovery, incremental pipeline, file watcher
@abf/core/llmOllama client, summary & chunked embedding pipelines
@abf/core/gitGit CLI wrapper

Development

bash
# Install dependenciespnpm install
# Build all packagespnpm build
# Watch modepnpm dev
# Type-checkpnpm type-check

Links

License

MIT

來源:README.md,提交 f44860a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.12.0最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。