
FileScopeMCP
Ranks every file by importance, maps dependencies, and keeps AI summaries fresh in the background.
Add to your client
Copy the config for your MCP client and paste it into its config file.
git clone https://github.com/admica/FileScopeMCP.git && cd FileScopeMCP && ./build.shPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"filescopemcp": {
"command": "node",
"args": [
"/path/to/FileScopeMCP/dist/mcp-server.js"
]
}
}
}Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- Node.js >= 22 and npm
- Build tools for native modules (better-sqlite3, tree-sitter): build-essential + python3 on Linux, xcode-select on macOS, Visual Studio Build Tools (C++ workload) on Windows
- Optional: llama.cpp's llama-server (or any OpenAI-compatible HTTP API) for LLM-generated summaries
About FileScopeMCP
FileScopeMCP analyzes a codebase to identify important files based on dependency relationships, generates per-file importance scores and AI summaries, and maps the dependency and call graphs across many languages so AI assistants can understand the codebase without reading every source file. A file watcher plus semantic change detection keeps metadata fresh automatically, an optional LLM broker generates summaries via llama-server or any OpenAI-compatible API, and a Nexus web dashboard visualizes everything across repos.
Tools & capabilities (17)
statusBroker connection, queue depth, LLM progress, watcher state.
find_important_filesTop files by importance score with dependency counts.
get_file_summaryEverything about a file: summary, concepts, change impact, exports, deps, staleness.
list_filesFull file tree (no args) or flat top-N by importance (with maxItems).
find_symbolResolve a symbol name to file + line range; supports prefix match via trailing *.
find_callersFind all symbols that call a named symbol (TS/JS call graph).
find_calleesFind all symbols that a named symbol calls (TS/JS call graph).
searchSearch file metadata across symbols, summaries, purpose, and paths.
list_changed_sinceFiles changed since a timestamp or git SHA.
get_communitiesLouvain-clustered file groups by import coupling.
detect_cyclesFind circular dependency chains.
get_cycles_for_fileCycles involving a specific file.
scan_allQueue files for LLM summarization via the broker.
set_base_directoryPoint at a different project.
set_file_summaryManually set or override a file's LLM summary.
set_file_importanceManually set a file's importance score (0-10).
exclude_and_removeDrop files/patterns from tracking (destructive).
When to use it
- Surface the most critical files in an unfamiliar repo so an AI assistant reviews them first
- Answer "who calls this function?" via the TS/JS call graph before refactoring
- Detect circular dependencies and tightly coupled file communities
- Keep fresh, AI-generated per-file summaries available to an LLM without re-reading source
- Visually explore dependency graphs and per-repo health across all local repos via the Nexus dashboard
Security notes
Proprietary license — Copyright (c) 2026 admica, All rights reserved. Built from source (no npm package); requires native build tools to compile better-sqlite3 and tree-sitter. The optional LLM broker and Nexus dashboard run local HTTP/Unix-socket services; the multi-repo systemd watchers are Linux-only. The `exclude_and_remove` tool is destructive.
FileScopeMCP FAQ
Do I need a local LLM to use it?
No. LLM summaries are optional and require llama.cpp's llama-server (or any OpenAI-compatible HTTP API). Without it, file tracking, dependency mapping, symbol extraction, and call graphs all still work — you just don't get LLM-generated summaries.
Which languages and analysis levels are supported?
TypeScript, JavaScript, Python, C, C++, Rust, Go, Ruby, Lua, Zig, PHP, C#, and Java. AST-level extraction (tree-sitter) is used for TS/JS, Python, C, C++, and Rust; regex-based detection for the rest. Symbol intelligence uses tree-sitter for TS/JS, Python, Go, and Ruby; the call graph (find_callers/find_callees) is TS/JS only.
Which clients does it work with?
Claude Code (auto-registered via ./build.sh using claude mcp add --scope user), plus Hermes Agent, Codex, OpenClaw, Cursor AI, or as a standalone daemon. Agent runtimes discover it via the repo's AGENTS.md.
Where is data stored?
All metadata lives in a per-project SQLite database at .filescope/data.db (WAL mode). The LLM broker coordinates work across repos via a Unix socket at ~/.filescope/broker.sock.
Alternatives to FileScopeMCP
Compare all alternatives →Microsoft's official browser-automation MCP using Playwright's accessibility tree (no vision model).
Up-to-date, version-specific library documentation injected into your coding agent.
LSP-powered coding agent toolkit: semantic symbol search, references and structural edits.
Compare FileScopeMCP with: