Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
MCP that provides fast, token-efficient tools for navigating, searching, and understanding codebases
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
ABF_PROJECT_ROOT필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"agentsbestfriend": {
"command": "npx",
"args": [
"-y",
"agentsbestfriend",
"start"
],
"env": {
"ABF_PROJECT_ROOT": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add agentsbestfriend --env ABF_PROJECT_ROOT=your-value -- npx -y agentsbestfriend start실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"agentsbestfriend": {
"command": "npx",
"args": [
"-y",
"agentsbestfriend",
"start"
],
"env": {
"ABF_PROJECT_ROOT": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"agentsbestfriend": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"agentsbestfriend",
"start"
],
"env": {
"ABF_PROJECT_ROOT": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
ABF_PROJECT_ROOT env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 TheRealFloatDev 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.12.0)은 7개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, LexPact UK Contracts
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Generate UK-law contracts: NDA, service, freelance, recruiter terms of business, IR35.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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 |
npm install -g agentsbestfriend
brew install ripgrep (macOS) / apt install ripgrep (Linux)abf init
abf init walks you through everything:
git ls-files(12/80) progressnpx 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):
{
"servers": { "abf": { "command": "npx", "args": ["agentsbestfriend", "start"] } } }
Cursor (.cursor/mcp.json):
{
"mcpServers": { "abf": { "command": "npx", "args": ["agentsbestfriend", "start"] } } }
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": { "abf": { "command": "npx", "args": ["agentsbestfriend", "start"] } } }
Set
ABF_PROJECT_ROOTin theenvblock if the agent does not pass its working directory automatically.
abf start Start MCP server in stdio mode (used by agents)
abf init [path] Index project, set up .gitignore entry, install MCP for agents abf skill [path] Install or update the ABF workflow skill for your coding agents abf index [path] Re-index a project (incremental by default) abf status [path] Show index stats abf config Interactive configuration editor abf doctor Health checks (Node, ripgrep, git, Ollama) abf portal Interactive TUI dashboard
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:
ollama pull qwen2.5-coder:1.5b # file summaries
ollama 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.
Global config at ~/.abf/config.json. Edit interactively with abf config or via abf portal.
{
"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 } }
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:
| 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 |
# Install dependencies
pnpm install
pnpm build
pnpm dev
pnpm type-check
MIT