MCP Directory

FileScopeMCP

Ranks every file by importance, maps dependencies, and keeps AI summaries fresh in the background.

Unverified
stdio (local)
No auth
TypeScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
git clone https://github.com/admica/FileScopeMCP.git && cd FileScopeMCP && ./build.sh

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

status

Broker connection, queue depth, LLM progress, watcher state.

find_important_files

Top files by importance score with dependency counts.

get_file_summary

Everything about a file: summary, concepts, change impact, exports, deps, staleness.

list_files

Full file tree (no args) or flat top-N by importance (with maxItems).

find_symbol

Resolve a symbol name to file + line range; supports prefix match via trailing *.

find_callers

Find all symbols that call a named symbol (TS/JS call graph).

find_callees

Find all symbols that a named symbol calls (TS/JS call graph).

search

Search file metadata across symbols, summaries, purpose, and paths.

list_changed_since

Files changed since a timestamp or git SHA.

get_communities

Louvain-clustered file groups by import coupling.

detect_cycles

Find circular dependency chains.

get_cycles_for_file

Cycles involving a specific file.

scan_all

Queue files for LLM summarization via the broker.

set_base_directory

Point at a different project.

set_file_summary

Manually set or override a file's LLM summary.

set_file_importance

Manually set a file's importance score (0-10).

exclude_and_remove

Drop 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).

Featured
Verified
stdio (local)
No auth
TypeScript
12 tools
Updated 13 days agoRepo

Up-to-date, version-specific library documentation injected into your coding agent.

Verified
stdio (local)
API key
TypeScript
2 tools
Updated 17 days agoRepo

LSP-powered coding agent toolkit: semantic symbol search, references and structural edits.

Verified
stdio (local)
No auth
Python
11 tools
Updated 15 days agoRepo