Сервер FileScopeMCP (протокол контекста модели)
✨ Мгновенно поймите и визуализируйте структуру и зависимости вашей кодовой базы! ✨
Инструмент на основе TypeScript для ранжирования файлов в вашей кодовой базе по важности, отслеживания зависимостей и предоставления сводок, помогающих понять структуру кода.
Обзор
Этот сервер MCP анализирует вашу кодовую базу, чтобы определить наиболее важные файлы на основе отношений зависимости. Он генерирует оценки важности (0-10) для каждого файла, отслеживает двунаправленные зависимости и позволяет вам добавлять пользовательские сводки для файлов. Вся эта информация становится доступной для инструментов ИИ через протокол контекста модели Cursor.
Функции
🚀 Усовершенствуйте свое понимание кода! FileScopeMCP предоставляет информацию напрямую вашему помощнику на основе искусственного интеллекта:
🎯 Анализ важности файлов
Ранжируйте файлы по шкале от 0 до 10 в зависимости от их роли в кодовой базе.
Рассчитайте важность, используя входящие/исходящие зависимости.
Мгновенно определяйте наиболее важные файлы в вашем проекте.
Интеллектуальный расчет учитывает тип файла, местоположение и значимость имени.
🔗 Отслеживание зависимости
Отобразите двунаправленные зависимости между файлами.
Определите, какие файлы импортируют данный файл (зависимые).
Посмотрите, какие файлы импортируются данным файлом (зависимости).
Различайте локальные и пакетные зависимости.
Поддержка нескольких языков: Python, JavaScript, TypeScript, C/C++, Rust, Lua, Zig.
📊 Визуализация
Создавайте диаграммы Mermaid для визуализации взаимосвязей файлов.
Цветовая визуализация на основе оценок важности.
Поддержка графов зависимостей, деревьев каталогов или гибридных представлений.
Вывод HTML со встроенным рендерингом, включая переключение тем и адаптивный дизайн.
Настройте глубину диаграммы, фильтруйте по важности и корректируйте параметры макета.
📝 Сводки файлов
Добавляйте в любой файл резюме, созданные человеком или искусственным интеллектом.
Извлекайте сохраненные сводки, чтобы быстро понять назначение файла.
Сводки сохраняются после перезапуска сервера.
📚 Поддержка нескольких проектов
Создавайте и управляйте несколькими деревьями файлов для различных областей проекта.
Настройте отдельные деревья с различными базовыми каталогами.
Легко переключайтесь между различными деревьями файлов.
Кэшированные деревья для более быстрых последующих операций.
💾 Постоянное хранилище
Все данные автоматически сохраняются на диск в формате JSON.
Загрузить существующие деревья файлов без повторного сканирования файловой системы.
Отслеживайте, когда в последний раз обновлялись файловые деревья.
Установка
Клонировать этот репозиторий
Создайте проект:
Скрипт сборки установит все зависимости узлов и сгенерирует mcp.json.
Окна:
Скопируйте сгенерированную конфигурацию mcp.json в каталог
.cursor
вашего проекта:Linux: (Курсор в Windows, но ваш проект в Linux WSL, затем поместите MCP в Linux и выполните сборку)
Обновите путь arg --base-dir до базового пути вашего проекта.
Как это работает
Обнаружение зависимости
Инструмент сканирует исходный код на предмет наличия операторов импорта и других шаблонов, специфичных для данного языка:
Python:
import
иfrom ... import
JavaScript/TypeScript: операторы
import
и вызовыrequire()
C/C++: директивы
#include
Rust: операторы
use
иmod
Lua:
require
операторыZig: директивы
@import
Расчет важности
Файлам присваиваются баллы важности (0–10) на основе взвешенной формулы, которая учитывает:
Количество файлов, импорт��рующих этот файл (зависимых)
Количество файлов, которые импортирует этот файл (зависимости)
Тип и расширение файла (при этом файлы TypeScript/JavaScript получают более высокие базовые баллы)
Расположение в структуре проекта (файлы в
src/
имеют больший вес)Именование файлов (файлы типа «index», «main», «server» и т. д. получают дополнительные баллы)
Файл, являющийся центральным в кодовой базе (импортируемый многими файлами), будет иметь более высокую оценку.
Генерация диаграмм
Система использует трехэтапный подход для генерации допустимого синтаксиса Mermaid:
Фаза сбора: регистрация всех узлов и связей.
Фаза определения узлов: создание определений для всех узлов перед любыми ссылками.
Фаза генерации ребер: создание ребер между определенными узлами.
Это гарантирует, что все диаграммы имеют правильный синтаксис и отображаются правильно. Вывод HTML включает:
Адаптивный дизайн, работающий на любом устройстве
Переключение между светлой и темной темой с определением системных настроек
Клиентская визуализация Mermaid для оптимальной производительности
Временная метка генерации
Нормализация пути
Система обрабатывает различные форматы путей для обеспечения единообразной идентификации файлов:
Форматы путей Windows и Unix
Абсолютные и относительные пути
URL-кодированные пути
Кроссплатформенная совместимость
Хранение файлов
Все данные файлового дерева хранятся в файлах JSON со следующей структурой:
Метаданные конфигурации (имя файла, базовый каталог, метка времени последнего обновления)
Полное дерево файлов с зависимостями, иждивенцами, оценками важности и сводками
Технические подробности
TypeScript/Node.js : создан с использованием TypeScript для обеспечения безопасности типов и современных функций JavaScript.
Протокол контекста модели : реализует спецификацию MCP для интеграции с курсором.
Mermaid.js : использует синтаксис Mermaid для генерации диаграмм
Хранилище JSON : использует простые файлы JSON для сохранения данных.
Нормализация пути : кроссплатформенная обработка пути для поддержки Windows и Unix
Кэширование : реализует кэширование для более быстрых повторяющихся операций.
Доступные инструменты
Сервер MCP предоставляет следующие инструменты:
Управление деревом файлов
list_saved_trees : Список всех сохраненных деревьев файлов
create_file_tree : Создать новую конфигурацию дерева файлов для определенного каталога
select_file_tree : Выберите существующее дерево файлов для работы.
delete_file_tree : Удалить конфигурацию дерева файлов
Анализ файла
list_files : Список всех файлов в проекте с указанием их важности.
get_file_importance : Получить подробную информацию о конкретном файле, включая зависимости и зависимые элементы
find_important_files : поиск наиболее важных файлов в проекте на основе настраиваемых критериев
read_file_content : Прочитать содержимое определенного файла
recalculate_importance : Пересчитать значения важности для всех файлов на основе зависимостей
Сводки файлов
get_file_summary : Получить сохраненную сводку определенного файла
set_file_summary : Установить или обновить сводку определенного файла
Просмотр файлов
toggle_file_watching : Включить/выключить наблюдение за файлами
get_file_watching_status : Получить текущий статус наблюдения за файлом
update_file_watching_config : Обновить конфигурацию отслеживания файлов
Генерация диаграмм
generate_diagram : Создание диаграмм «Русалка» с настраиваемыми параметрами
Форматы вывода: текст русалки (
.mmd
) или HTML со встроенным рендерингомСтили диаграмм: по умолчанию, зависимости, каталог или гибридные представления
Параметры фильтра: максимальная глубина, минимальный порог важности
Варианты компоновки: направление (TB, BT, LR, RL), расстояние между узлами, расстояние между рангами
Примеры использования
Самый простой способ начать — включить этот mcp в курсоре и сказать курсору разобраться и использовать его. Как только mcp запустится, он построит начальное дерево json. Скажите LLM сделать сводки всех важных файлов и использовать set_file_summary mcp для их добавления.
Анализ проекта
Создайте дерево файлов для вашего проекта:
Найдите самые важные файлы:
Получите подробную информацию о конкретном файле:
Работа с резюме
Прочитайте содержимое файла, чтобы понять его:
Добавьте резюме в файл:
Получить сводку позже:
Создание диаграмм
Создайте базовую схему структуры проекта:
Создайте HTML-диаграмму с зависимостями:
Настройте макет диаграммы:
Использование наблюдения за файлами
Включите наблюдение за файлами для вашего проекта:
Проверьте текущий статус просмотра файла:
Обновите конфигурацию отслеживания файлов:
Будущие улучшения
Добавить поддержку большего количества языков программирования
Добавить более сложные алгоритмы расчета важности
Расширение возможностей настройки диаграммы
Поддержка экспорта диаграмм в дополнительные форматы
Лицензия
Этот проект лицензирован в соответствии с GNU General Public License v3 (GPL-3.0). Полный текст лицензии см. в файле LICENSE .
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Инструмент TypeScript, который ранжирует файлы в вашей кодовой базе по важности, отслеживает зависимости и предоставляет сводки файлов, помогающие понять структуру кода с помощью протокола контекста модели Cursor.
- Обзор
- Функции
- Установка
- Как это работает
- Технические подробности
- Доступные инструменты
- Примеры использования
- Будущие улучшения
- Лицензия
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn AI-powered development toolkit for Cursor providing intelligent coding assistance through advanced reasoning, UI screenshot analysis, and code review tools.Last updated -595335MIT License
- AsecurityFlicenseAqualityA TypeScript-based server that visualizes project directory structures in Markdown format, automatically documenting file contents with syntax highlighting and supporting customizable exclusion patterns.Last updated -1253
- AsecurityAlicenseAqualityA powerful Model Context Protocol framework that extends Cursor IDE with tools for web content retrieval, PDF processing, and Word document parsing.Last updated -813MIT License
- -securityFlicense-qualityA TypeScript-based server project that can be integrated with Cursor IDE as an MCP (Model Control Protocol) server, enabling enhanced development capabilities.Last updated -138