depwire/depwire

depwire/depwire

от depwire
Depwire – MCP сервер для AI-ассистентов, строящий детерминированный граф зависимостей кода на 16 языках. Позволяет симулировать удаление символов, проверять безопасность и оценивать архитектурное здоровье. Все 23 инструмента работают локально, без отправки кода.

Depwire

npm version npm downloads GitHub stars License MCP Compatible

Languages TypeScript Python Go Rust Java PHP Ruby Dart R +7 more

YouTube CLI Tutorial YouTube Cloud Tutorial Cloud

Your AI doesn't know your architecture. Depwire does.

What makes Depwire different

Depwire deterministic graph vs RAG probabilistic approach

Depwire builds a DETERMINISTIC, NOT PROBABILISTIC dependency graph of your codebase. This is not RAG. There are no embeddings, no similarity scores, no vector databases, no guesses. Depwire uses tree-sitter — the same parser powering GitHub's code intelligence — to extract exact symbol-level facts from every file: every function, every class, every interface, every import and export relationship, across 16 programming languages. When you ask "what breaks if I delete encodeToken in auth/token.ts?", Depwire does not search for similar-looking code and estimate an answer. It traverses the exact dependency graph and returns the precise list of 14 files that import that symbol, which import chains break, and what your health score drops by. This is compiler-level precision applied to AI-assisted development — not a language model's best guess about your code.

Not a build graph either. Tools like Nx, Turborepo, and Grapher track package-level dependencies for build caching. Depwire tracks symbol-level dependencies — every function, class, and import relationship — which is what makes What If simulation, graph-aware security scanning, and exact blast radius analysis possible.

affected_files

Находит все файлы, затронутые изменением конкретного файла или символа. Включает тестовые файлы, покрывающие затронутый код. Используйте это перед запуском тестов, чтобы узнать, какие тестовые файлы выполнять.

Находит все файлы, затронутые изменением конкретного файла или символа. Включает тестовые файлы, покрывающие затронутый код. Используйте это перед запуском тестов, чтобы узнать, какие тестовые файлы выполнять.

Параметры

  • file_pathstringобязательный

    Relative path of the changed file (e.g., 'src/auth/token.ts')

  • max_depthnumber

    Maximum traversal depth (default: 5)

  • tests_onlyboolean

    Return only test files (default: false)

claim_files

Координация нескольких агентов: объявляйте намерение изменить файлы, чтобы другие MCP-клиенты видели заявку и избегали конфликтов. Заявки истекают спустя настраиваемый TTL.

Координация нескольких агентов: объявляйте намерение изменить файлы, чтобы другие MCP-клиенты видели заявку и избегали конфликтов. Заявки истекают спустя настраиваемый TTL.

Параметры

  • session_idstringобязательный

    Identifies the calling agent/session

  • file_pathsstring[]обязательный

    Files to claim

  • reasonstring

    Optional human-readable reason for the claim

  • ttl_minutesnumber

    Time-to-live in minutes (default 30, max 240)

  • depwire_action_tokenstring

    Optional, reserved for future DAT integration

connect_repo

Подключает Depwire к кодовой базе для анализа. Принимает путь к локальной директории или URL репозитория GitHub. Если указан URL GitHub, репозиторий будет автоматически клонирован. Это заменяет текущий загруженный проект.

Подключает Depwire к кодовой базе для анализа. Принимает путь к локальной директории или URL репозитория GitHub. Если указан URL GitHub, репозиторий будет автоматически клонирован. Это заменяет текущий загруженный проект.

Параметры

  • sourcestringобязательный

    Local directory path (e.g., '/Users/me/project') or GitHub URL (e.g., 'https://github.com/vercel/next.js')

  • subdirectorystring

    Subdirectory within the repo to analyze (optional, e.g., 'packages/core/src')

find_dead_code

Находит потенциально мёртвый код — символы, которые определены, но нигде не используются в кодовой базе. Возвращает символы, сгруппированные по уровню уверенности (высокий, средний, низкий). Высокий уровень уверенности означает, что код точно не используется. Используйте это для выявления возможностей для очистки.

Находит потенциально мёртвый код — символы, которые определены, но нигде не используются в кодовой базе. Возвращает символы, сгруппированные по уровню уверенности (высокий, средний, низкий). Высокий уровень уверенности означает, что код точно не используется. Используйте это для выявления возможностей для очистки.

Параметры

  • confidenceenum

    Minimum confidence level to return (default: medium)

    highmediumlow
get_active_claims

Запрос, кто сейчас над чем работает. Возвращает активные заявки на файлы, полезно для агентов-оркестраторов, решающих, что делегировать.

Запрос, кто сейчас над чем работает. Возвращает активные заявки на файлы, полезно для агентов-оркестраторов, решающих, что делегировать.

Параметры

  • filter_by_sessionstring

    Only return claims from this session

  • filter_by_filestring

    Only return claims affecting this file

  • include_expiredboolean

    Include expired claims (default false)

get_architecture_summary

Получить общее представление об архитектуре проекта: количество файлов, количество символов, наиболее связанные файлы, горячие точки зависимостей и файлы-сироты.

Получить общее представление об архитектуре проекта: количество файлов, количество символов, наиболее связанные файлы, горячие точки зависимостей и файлы-сироты.

Параметры

Без параметров.

get_decisions

Извлекает прошлые решения, соответствующие запросу. Позволяет агентам видеть, какие решения принимали предыдущие агенты (или он сам в предыдущем сеансе) по аналогичным проблемам.

Извлекает прошлые решения, соответствующие запросу. Позволяет агентам видеть, какие решения принимали предыдущие агенты (или он сам в предыдущем сеансе) по аналогичным проблемам.

Параметры

  • querystring

    Free-text search across context, decision, reasoning fields

  • filter_by_sessionstring

    Only decisions from this session

  • filter_by_filestring

    Only decisions affecting this file

  • filter_by_tagstring

    Only decisions with this tag

  • limitnumber

    Max results to return (default 20, max 100)

  • sincestring

    ISO-8601 timestamp, only decisions after this time

get_dependencies

Получает все символы, от которых зависит указанный символ (то есть что этот символ использует, импортирует или вызывает). Передайте имя символа (например, 'Router') или полностью квалифицированный идентификатор (например, 'src/router.ts::Router') для точного совпадения. Если несколько символов имеют одинаковое имя, возвращаются все совпадения для устранения неоднозначности.

Получает все символы, от которых зависит указанный символ (то есть что этот символ использует, импортирует или вызывает). Передайте имя символа (например, 'Router') или полностью квалифицированный идентификатор (например, 'src/router.ts::Router') для точного совпадения. Если несколько символов имеют одинаковое имя, возвращаются все совпадения для устранения неоднозначности.

Параметры

  • symbolstringобязательный

    Symbol name (e.g., 'Router') or full ID (e.g., 'src/router.ts::Router')

get_dependents

Находит все символы, которые зависят от указанного символа (что использует этот символ?). Передайте имя символа (например, 'Router') или полностью квалифицированный идентификатор (например, 'src/router.ts::Router') для точного поиска. Если несколько символов имеют одинаковое имя, возвращает все совпадения, чтобы их различить.

Находит все символы, которые зависят от указанного символа (что использует этот символ?). Передайте имя символа (например, 'Router') или полностью квалифицированный идентификатор (например, 'src/router.ts::Router') для точного поиска. Если несколько символов имеют одинаковое имя, возвращает все совпадения, чтобы их различить.

Параметры

  • symbolstringобязательный

    Symbol name (e.g., 'Router') or full ID (e.g., 'src/router.ts::Router')

get_file_context

Получает полный контекст о файле - все символы, определённые в нём, все импорты, все экспорты и все файлы, которые импортируют из него. Включает межъязыковые связи (вызовы REST API, вызовы подпроцессов).

Получает полный контекст о файле - все символы, определённые в нём, все импорты, все экспорты и все файлы, которые импортируют из него. Включает межъязыковые связи (вызовы REST API, вызовы подпроцессов).

Параметры

  • filePathstringобязательный

    Relative file path (e.g., 'services/UserService.ts')

get_health_score

Получает оценку здоровья архитектуры зависимостей проекта от 0 до 100. Оценивает зацепление, связность, циклические зависимости, god-файлы, файлы-сироты и глубину зависимостей. Возвращает общую оценку, разбивку по каждому измерению и практические рекомендации.

Получает оценку здоровья архитектуры зависимостей проекта от 0 до 100. Оценивает зацепление, связность, циклические зависимости, god-файлы, файлы-сироты и глубину зависимостей. Возвращает общую оценку, разбивку по каждому измерению и практические рекомендации.

Параметры

Без параметров.

get_project_docs

Извлекает автоматически сгенерированную документацию по кодовой базе. Возвращает обзор архитектуры, соглашения по оформлению кода, карты зависимостей и руководства по онбордингу. Документация должна быть предварительно сгенерирована командой `depwire docs`.

Извлекает автоматически сгенерированную документацию по кодовой базе. Возвращает обзор архитектуры, соглашения по оформлению кода, карты зависимостей и руководства по онбордингу. Документация должна быть предварительно сгенерирована командой `depwire docs`.

Параметры

  • doc_typestring

    Document type to retrieve: 'architecture', 'conventions', 'dependencies', 'onboarding', or 'all' (default: 'all')

get_symbol_info

Ищет подробную информацию о символе (функция, класс, переменная, тип и т.д.) по имени. Передайте имя символа (например, 'Router') или полностью квалифицированный идентификатор (например, 'src/router.ts::Router') для точного совпадения. Если несколько символов имеют одинаковое имя, возвращает все совпадения для устранения неоднозначности.

Ищет подробную информацию о символе (функция, класс, переменная, тип и т.д.) по имени. Передайте имя символа (например, 'Router') или полностью квалифицированный идентификатор (например, 'src/router.ts::Router') для точного совпадения. Если несколько символов имеют одинаковое имя, возвращает все совпадения для устранения неоднозначности.

Параметры

  • namestringобязательный

    The symbol name to look up (e.g., 'UserService') or full ID (e.g., 'src/services/UserService.ts::UserService')

get_temporal_graph

Показывает, как граф зависимостей менялся в истории git. Возвращает снимки на семплированных коммитах, отображающие количество файлов, символов, ребер и структурные изменения с течением времени.

Показывает, как граф зависимостей менялся в истории git. Возвращает снимки на семплированных коммитах, отображающие количество файлов, символов, ребер и структурные изменения с течением времени.

Параметры

  • commitsnumber

    Number of commits to sample (default: 10)

  • strategyenum

    Sampling strategy (default: even)

    evenweeklymonthly
impact_analysis

Анализирует, что сломается, если изменить, переименовать или удалить символ. Показывает прямые зависимости, транзитивные зависимости (цепную реакцию) и все затронутые файлы. Включает межъязыковые связи - вызов fetch из TypeScript к маршруту на Python покажет Python-файл как затронутый. Передайте имя символа (например, 'Router') или полностью квалифицированный ID (например, 'src/router.ts::Router') для точного совпадения. Если несколько символов имеют одно и то же имя, возвращает все совпадения для устранения неоднозначности. Используйте это перед внесением изменений, чтобы понять радиус поражения.

Анализирует, что сломается, если изменить, переименовать или удалить символ. Показывает прямые зависимости, транзитивные зависимости (цепную реакцию) и все затронутые файлы. Включает межъязыковые связи - вызов fetch из TypeScript к маршруту на Python покажет Python-файл как затронутый. Передайте имя символа (например, 'Router') или полностью квалифицированный ID (например, 'src/router.ts::Router') для точного совпадения. Если несколько символов имеют одно и то же имя, возвращает все совпадения для устранения неоднозначности. Используйте это перед внесением изменений, чтобы понять радиус поражения.

Параметры

  • symbolstringобязательный

    Symbol name (e.g., 'Router') or full ID (e.g., 'src/router.ts::Router')

  • filestring

    Optional: File path to disambiguate when multiple symbols have the same name (e.g., 'src/router.ts')

list_files

Выведи список всех файлов в проекте с базовой статистикой.

Выведи список всех файлов в проекте с базовой статистикой.

Параметры

  • directorystring

    Filter to a specific subdirectory (optional)

record_decision

Сохраните структурированное решение, чтобы будущие клиенты (или тот же клиент в будущей сессии) могли увидеть, что было решено и почему. Сохраняется в .depwire/decisions.jsonl.

Сохраните структурированное решение, чтобы будущие клиенты (или тот же клиент в будущей сессии) могли увидеть, что было решено и почему. Сохраняется в .depwire/decisions.jsonl.

Параметры

  • session_idstringобязательный

    Identifies the calling agent/session

  • contextstringобязательный

    What problem was being solved

  • options_consideredstring[]обязательный

    Alternatives the client weighed

  • decisionstringобязательный

    What was chosen

  • reasoningstringобязательный

    Why this option was chosen

  • files_affectedstring[]

    Optional list of files this decision touches

  • tagsstring[]

    Optional tags for categorization

  • depwire_action_tokenstring

    Optional, reserved for future DAT integration

release_files

Освободите ранее сделанную претензию на файл. Освобождение записывается как событие (только добавление).

Освободите ранее сделанную претензию на файл. Освобождение записывается как событие (только добавление).

Параметры

  • claim_idstringобязательный

    The claim ID to release

  • session_idstringобязательный

    Must match the original claim's session_id

search_symbols

Ищет символы по имени во всей кодовой базе. Поддерживает частичное совпадение.

Ищет символы по имени во всей кодовой базе. Поддерживает частичное совпадение.

Параметры

  • querystringобязательный

    Search query (case-insensitive substring match)

  • limitnumber

    Maximum results to return (default: 20)

security_scan

Сканирует кодовую базу на уязвимости безопасности с помощью детерминированных проверок и оценки серьезности на основе графа. Не требуется API-ключ. Проверки: CVE зависимостей, внедрение команд shell, жестко закодированные секреты, обход пути, обход аутентификации, проверка ввода, раскрытие информации, слабости криптографии, межсайтовый скриптинг (XSS) на фронтенде, риски на уровне архитектуры. Оценка серьезности на основе графа: уязвимости, достижимые из MCP-инструментов или HTTP-маршрутов, автоматически повышаются. Внедрение команд shell средней серьезности, достижимое из connect_repo, становится Критическим. Возвращает ранжированные результаты (Критический → Низкий) с описанием атак и предлагаемыми исправлениями. Используйте --target для сканирования одного файла.

Сканирует кодовую базу на уязвимости безопасности с помощью детерминированных проверок и оценки серьезности на основе графа. Не требуется API-ключ. Проверки: CVE зависимостей, внедрение команд shell, жестко закодированные секреты, обход пути, обход аутентификации, проверка ввода, раскрытие информации, слабости криптографии, межсайтовый скриптинг (XSS) на фронтенде, риски на уровне архитектуры. Оценка серьезности на основе графа: уязвимости, достижимые из MCP-инструментов или HTTP-маршрутов, автоматически повышаются. Внедрение команд shell средней серьезности, достижимое из connect_repo, становится Критическим. Возвращает ранжированные результаты (Критический → Низкий) с описанием атак и предлагаемыми исправлениями. Используйте --target для сканирования одного файла.

Параметры

  • targetstring

    Relative file path to scan. Omit to scan entire repo.

  • classesstring[]

    Vulnerability classes to check. Omit for all.

  • graphAwareboolean

    Enable graph-aware severity elevation (recommended). Default: true.

simulate_change

Сымитируй архитектурное изменение до того, как трогать код. Возвращает дельту показателя здоровья, сломанные импорты и затронутые узлы. Ноль операций ввода-вывода — чисто in-memory симуляция. Учтены межъязыковые связи: удаление файла маршрута на Python покажет, что затронуты вызывающие его компоненты на TypeScript. Операции: - delete: симулирует удаление файла. Показывает каждый файл, который сломается, и полный радиус поражения. - move: симулирует перемещение файла в новый путь. Показывает сломанные импорты и изменения связей. - rename: симулирует переименование файла. Показывает все затронутые импорты и узлы. - split: симулирует разделение файла — перенос указанных символов в новый файл. - merge: симулирует слияние двух файлов в один. Быстро завершается с ошибкой при конфликте имён символов. Всегда запускай эту симуляцию перед любым рефакторингом, затрагивающим структуру файлов.

Сымитируй архитектурное изменение до того, как трогать код. Возвращает дельту показателя здоровья, сломанные импорты и затронутые узлы. Ноль операций ввода-вывода — чисто in-memory симуляция. Учтены межъязыковые связи: удаление файла маршрута на Python покажет, что затронуты вызывающие его компоненты на TypeScript. Операции: - delete: симулирует удаление файла. Показывает каждый файл, который сломается, и полный радиус поражения. - move: симулирует перемещение файла в новый путь. Показывает сломанные импорты и изменения связей. - rename: симулирует переименование файла. Показывает все затронутые импорты и узлы. - split: симулирует разделение файла — перенос указанных символов в новый файл. - merge: симулирует слияние двух файлов в один. Быстро завершается с ошибкой при конфликте имён символов. Всегда запускай эту симуляцию перед любым рефакторингом, затрагивающим структуру файлов.

Параметры

  • operationenumобязательный

    Type of change to simulate

    movedeleterenamesplitmerge
  • targetstringобязательный

    Relative file path of the primary target

  • destinationstring

    Required for move and rename — the new file path

  • symbolsstring[]

    Required for split — symbol names to move to new file

  • mergeTargetstring

    Required for merge — the file to merge into target

update_project_docs

Перегенерировать документацию по кодовой базе с учётом последних изменений. Если документации нет, создать её впервые. Используйте это после значительных изменений кода, чтобы документация оставалась актуальной.

Перегенерировать документацию по кодовой базе с учётом последних изменений. Если документации нет, создать её впервые. Используйте это после значительных изменений кода, чтобы документация оставалась актуальной.

Параметры

  • doc_typestring

    Document type to update: 'architecture', 'conventions', 'dependencies', 'onboarding', or 'all' (default: 'all')

verify_change

Перед применением изменения кода возвращайте детерминированный отчёт о безопасности. Проверяет сломанные импорты, новые циклические зависимости, влияние на показатель здоровья и запускает целевую проверку изменённых файлов. Используется AI-ассистентами для программирования и автономными агентами.

Перед применением изменения кода возвращайте детерминированный отчёт о безопасности. Проверяет сломанные импорты, новые циклические зависимости, влияние на показатель здоровья и запускает целевую проверку изменённых файлов. Используется AI-ассистентами для программирования и автономными агентами.

Параметры

  • file_pathstring

    File path being changed (use with new_content)

  • new_contentstring

    The proposed new content of the file

  • unified_diffstring

    A unified diff string (alternative to file_path + new_content)

  • depwire_action_tokenstring

    Optional, reserved for future DAT integration

visualize_graph

Создаёт интерактивную дуговую диаграмму графа перекрёстных ссылок текущей кодовой базы. Файлы отображаются в виде столбцов внизу, дуги зависимостей соединяют их, цвет зависит от расстояния. Визуализация встраивается прямо в диалог.

Создаёт интерактивную дуговую диаграмму графа перекрёстных ссылок текущей кодовой базы. Файлы отображаются в виде столбцов внизу, дуги зависимостей соединяют их, цвет зависит от расстояния. Визуализация встраивается прямо в диалог.

Параметры

  • highlightstring

    File or symbol name to highlight in the visualization (optional)

  • maxFilesnumber

    Limit to top N most connected files (optional, default: all)

Другие проверенные MCP-сервера

wso2/fhir-mcp-server

wso2/fhir-mcp-server

официальный

MCP сервер для FHIR API. Интегрирует AI-инструменты с медицинскими данными: поиск, чтение и запись ресурсов. Поддерживает SMART-on-FHIR аутентификацию и FHIRPath-фильтрацию. Для разработчиков и инт...

Python129
chigwell/telegram-mcp

chigwell/telegram-mcp

Интеграция Telegram с MCP-клиентами через 80+ инструментов: от отправки сообщений до управления группами и файлами. Подходит для автоматизации, анализа чатов и работы с несколькими аккаунтами.

Python1312
mcpjungle/mcpjungle

mcpjungle/mcpjungle

MCPJungle - шлюз для управления несколькими MCP-серверами через единый endpoint. Упрощает настройку клиентов, централизует доступ и мониторинг. Работает локально или как командная инфраструктура для Claude, Cursor.

Go1161
Resend MCP

Resend MCP

официальный

MCP-сервер для подключения AI-агентов к Resend: отправляйте и получайте письма, управляйте контактами, рассылками и доменами. Работает из Claude, Cursor, Claude Code. Доступен удаленный сервер (OAuth) и локальный через npx с API-ключом.

TypeScript556
Timeweb MCP

Timeweb MCP

официальный

MCP сервер для автоматизации деплоя приложений в Timeweb Cloud. Создавайте приложения, базы данных, VPC и floating IP прямо из чата. Сервер сам определяет параметры проекта и фреймворк. Идеально для быстрого развертывания в облаке.

TypeScript25
zinja-coder/jadx-ai-mcp

zinja-coder/jadx-ai-mcp

JADX-AI-MCP - плагин для декомпилятора JADX с интеграцией MCP, позволяющий LLM (Claude) в реальном времени анализировать Android APK, искать уязвимости и давать рекомендации по реверс-инжинирингу.

Java2507
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин