depwire/depwire

depwire/depwire

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

Depwire

npm version npm downloads GitHub stars License MCP Compatible

16 languages + Angular templates TypeScript Python Go Rust Java PHP Ruby Dart R +7 more HTML/Angular

YouTube CLI Tutorial YouTube Cloud Tutorial Cloud VS Code Marketplace

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

What makes Depwire different

16 programming languages, plus Angular templates. Depwire parses symbols and builds dependency relationships across the constructs it supports. It records relationships it cannot resolve instead of inventing an edge.

Depwire builds a deterministic dependency graph from source parsing, without embeddings or similarity search. For a proposed change, it traverses the relationships present in that graph to show known dependents, import chains, and health movement. Results depend on the language constructs and files the parser can analyze.

Not a build graph either. Depwire tracks symbol-level relationships for What If simulation, graph-aware security scanning, and blast radius analysis.

Contents

Часто задаваемые вопросы

Инструменты были проиндексированы:
affected_files

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

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

    Относительный путь к изменённому файлу (например, 'src/auth/token.ts')

  • max_depthnumber

    Максимальная глубина обхода (по умолчанию: 5)

  • tests_onlyboolean

    Возвращает только тестовые файлы (по умолчанию: false)

claim_files

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

Параметры
  • depwire_action_tokenstring

    Необязательно, зарезервировано для будущей интеграции DAT.

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

    Файлы для получения

  • reasonstring

    Необязательная причина, понятная человеку, для утверждения.

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

    Определяет вызывающего агента/сессию

  • ttl_minutesnumber

    Время жизни (TTL) в минутах (по умолчанию 30, максимум 240)

connect_repo

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

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

    Путь к локальной директории (например, '/Users/me/project') или URL-адрес GitHub (например, 'https://github.com/vercel/next.js')

  • subdirectorystring

    Подкаталог в репозитории для анализа (необязательно, например, 'packages/core/src')

find_dead_code

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

Параметры
  • confidenceenum

    Минимальный уровень уверенности для возврата (по умолчанию: средний)

get_active_claims

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

Параметры
  • filter_by_filestring

    Возвращай только утверждения, влияющие на этот файл.

  • filter_by_sessionstring

    Возвращает только утверждения из этой сессии.

  • include_expiredboolean

    Включать просроченные claims (по умолчанию: false)

get_architecture_summary

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

Параметры

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

get_decisions

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

Параметры
  • filter_by_filestring

    Только решения, затрагивающие этот файл

  • filter_by_sessionstring

    Только решения из этой сессии.

  • filter_by_tagstring

    Только решения с этим тегом.

  • limitnumber

    Максимум результатов для возврата (по умолчанию: 5, максимум: 20).

  • querystring

    Поиск по произвольному тексту в полях контекста, решения и обоснования.

  • sincestring

    Метка времени в формате ISO-8601, учитываются только решения, принятые после этого момента.

get_dependencies

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

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

    Имя символа (например, 'Router') или полный идентификатор (например, 'src/router.ts::Router')

get_dependents

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

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

    Имя символа (например, 'Router') или полный идентификатор (например, 'src/router.ts::Router')

get_file_context

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

Параметры
  • endLinenumber

    Необязательно: номер последней строки (отсчет от 1, включительно) для возврата только части содержимого файла.

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

    Относительный путь к файлу (например, 'services/UserService.ts')

  • startLinenumber

    Необязательно: номер начальной строки (с единицы), чтобы вернуть только часть содержимого файла.

get_health_score

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

Параметры

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

get_project_docs

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

Параметры
  • doc_typestring

    Тип документа для получения: 'architecture', 'conventions', 'dependencies', 'onboarding' или 'all' (по умолчанию: 'all')

get_symbol_info

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

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

    Имя символа для поиска (например, 'UserService') или полный идентификатор (например, 'src/services/UserService.ts::UserService')

get_temporal_graph

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

Параметры
  • commitsnumber

    Количество коммитов для выборки (по умолчанию: 10)

  • strategyenum

    Стратегия выборки (по умолчанию: равномерная)

impact_analysis

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

Параметры
  • filestring

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

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

    Имя символа (например, 'Router') или полный идентификатор (например, 'src/router.ts::Router')

list_files

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

Параметры
  • directorystring

    Фильтровать по конкретному подкаталогу (необязательно)

record_decision

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

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

    Какая проблема решалась?

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

    Что выбрали?

  • depwire_action_tokenstring

    Необязательно, зарезервировано для будущей интеграции DAT.

  • files_affectedstring[]

    Необязательный список файлов, которых касается это решение.

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

    Альтернативы, которые взвешивал клиент

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

    Я выбрал этот вариант перевода, руководствуясь правилами, которые были заданы в исходном промпте. Вот основные причины, почему были приняты именно такие решения: 1. Сохранение структуры и технических деталей - Названия инструментов (Context7, Resolve Context7 Library ID) и форматы (URI, http:, https:, file:, data:, Markdown) оставлены без изменений, так как это имена собственные и технические термины, не подлежащие переводу. - Кавычки вокруг названия инструмента сохранены для точной передачи ссылки на сущность. 2. Грамматика и стиль описания действий - Согласно правилу, описания инструментов переводятся глаголом в 3-м лице единственного числа настоящего времени. Поэтому Retrieves and queries → Получает и запрашивает, а Convert → Преобразует. Это делает текст похожим на техническую документацию, а не на живой рассказ. - Инструкции для пользователя (You must call..., Do not call...) переведены в повелительном наклонении (Не вызывайте...) или безличной конструкции (необходимо вызвать...), что соответствует официальному тону инструкций. 3. Точность и отсутствие искажений - UNLESS переведено как ЗА ИСКЛЮЧЕНИЕМ (с сохранением капса для передачи эмфазы), а explicitly — как явно. Это сохраняет точный смысл условия. - described by an http:, https:, file: or data: URI переведено как заданный URI вида http:, https:, file: или data: — здесь заданный точнее передает технический смысл "описанный/определенный", чем буквальное "описанный". 4. Отказ от канцелярита и клише - Вместо "осуществляет получение" использовано простое "получает", а вместо "предоставляет возможность" — прямые глаголы. Это соответствует правилу "больше глаголов, меньше существительных". - Избегаются пустые усилители ("мощный", "ключевой") и модальное хеджирование ("может стать"), так как текст является прямой инструкцией. 5. Соответствие правилам типографики - В тексте нет длинных тире, только дефисы в составе слов (например, 3-м), что соответствует запрету на использование длинного тире. - Числительные и падежи согласованы (более 3 раз — корректно для русского языка в данном контексте). Таким образом, перевод максимально приближен к оригиналу по смыслу и структуре, но адаптирован под правила русского технического стиля, заданные в промпте.

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

    Определяет вызывающего агента/сессию

  • tagsstring[]

    Необязательные теги для категоризации.

release_files

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

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

    Идентификатор заявки, которую нужно освободить.

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

    Должен совпадать с session_id исходного утверждения.

search_symbols

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

Параметры
  • limitnumber

    Максимум результатов для возврата (по умолчанию: 50)

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

    Поисковый запрос (совпадение подстроки без учёта регистра)

security_scan

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

Параметры
  • classesenum[]

    Классы уязвимостей для проверки. Опустить для всех.

  • dependencyAuditboolean

    Запускает проверки CVE зависимостей и цепочки поставок. По умолчанию: true; установите false, чтобы пропустить запросы аудита.

  • graphAwareboolean

    Включить граф-ориентированное повышение серьёзности (рекомендуется). По умолчанию: true.

  • targetstring

    Относительный путь к файлу для сканирования. Опустите, чтобы сканировать весь репозиторий.

simulate_change

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

Параметры
  • destinationstring

    Обязательно для перемещения и переименования — новый путь к файлу.

  • mergeTargetstring

    Требуется для слияния: файл для объединения с целевым.

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

    Тип изменения для имитации

  • symbolsstring[]

    Требуется для разделения — имена символов для перемещения в новый файл

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

    Относительный путь к файлу основной цели

update_project_docs

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

Параметры
  • doc_typestring

    Тип документа для обновления: 'architecture', 'conventions', 'dependencies', 'onboarding' или 'all' (по умолчанию: 'all')

verify_change

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

Параметры
  • depwire_action_tokenstring

    Необязательно, зарезервировано для будущей интеграции DAT.

  • file_pathstring

    Изменяется путь к файлу (используйте с new_content)

  • new_contentstring

    Предлагаемое новое содержимое файла.

  • unified_diffstring

    Строка unified diff (альтернатива file_path + new_content)

visualize_graph

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

Параметры
  • highlightstring

    Имя файла или символа для подсветки в визуализации (необязательно)

  • maxFilesnumber

    Ограничить до N наиболее связанных файлов (необязательно, по умолчанию: все).

1.28.2основная
1.28.1
1.28.0
1.27.0
1.26.0
1.25.0
1.23.0
1.22.0
1.21.2
1.21.1
1.21.0
1.20.2
1.20.1
1.20.0
1.19.0
1.18.0
1.17.0
1.16.1
1.16.0
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.0
1.12.0
1.11.0
1.10.0
1.9.5
1.9.4
1.9.3
1.9.2
1.9.0
1.8.7
1.8.6
1.8.5
1.8.4
1.8.2
1.8.1
1.8.0
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.1
1.6.0
1.5.0
1.4.0
1.3.0
1.2.0
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.2
1.1.1
1.1.0
1.0.8
1.0.7
1.0.5
1.0.4
1.0.1
1.0.0
0.9.30
0.9.29
0.9.28
0.9.27
0.9.26
0.9.25
0.9.24
0.9.23
0.9.22
0.9.21
0.9.20
0.9.19
0.9.18
0.9.17
0.9.16
0.9.15
0.9.14
0.9.13
0.9.12
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.0
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.4.0
0.3.1
0.3.0
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0

Выберите клиент, чтобы установить depwire/depwire:

Любой клиент

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

{
  "mcpServers": {
    "depwire-depwire-yxskd4c8gb": {
      "command": "npx",
      "args": [
        "-y",
        "depwire-cli",
        "mcp"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "depwire-depwire-yxskd4c8gb": {
      "command": "npx",
      "args": [
        "-y",
        "depwire-cli",
        "mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "depwire-depwire-yxskd4c8gb": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "depwire-cli",
        "mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"depwire-depwire-yxskd4c8gb\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"depwire-cli\",\"mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "depwire-depwire-yxskd4c8gb": {
      "command": "npx",
      "args": [
        "-y",
        "depwire-cli",
        "mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add depwire-depwire-yxskd4c8gb -- npx -y depwire-cli mcp

Либо через JSON-конфиг:

claude mcp add-json depwire-depwire-yxskd4c8gb "{\"command\":\"npx\",\"args\":[\"-y\",\"depwire-cli\",\"mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add depwire-depwire-yxskd4c8gb -- npx -y depwire-cli mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.depwire-depwire-yxskd4c8gb]
command = "npx"
args = ["-y", "depwire-cli", "mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите depwire/depwire, а в поле команды запуска — строку ниже:
npx -y depwire-cli mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "depwire-depwire-yxskd4c8gb": {
      "command": "npx",
      "args": [
        "-y",
        "depwire-cli",
        "mcp"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "depwire-depwire-yxskd4c8gb": {
      "command": "npx",
      "args": [
        "-y",
        "depwire-cli",
        "mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например depwire-depwire-yxskd4c8gb.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: depwire-depwire-yxskd4c8gb
    command: npx
    args:
      - "-y"
      - "depwire-cli"
      - "mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "depwire-depwire-yxskd4c8gb": {
      "command": "npx",
      "args": [
        "-y",
        "depwire-cli",
        "mcp"
      ]
    }
  }
}

Похожие MCP-сервера

rdanieli/tentra-mcp

rdanieli/tentra-mcp

от rdanieli

MCP-сервер для AI-агентов: создает постоянный граф кода и архитектурные диаграммы. Работает в Cursor, Claude Code, Codex и Windsurf. Сокращает токены на 99.4% (символьные запросы вместо полного перечтения). Включает 36 инструментов для архитектуры, анализа кода, графического поиска и контрактов. ...

TypeScript⭐ 6
endiagram/mcp

endiagram/mcp

от dushyant30suthar

MCP сервер для детерминированного структурного анализа систем на основе теории графов. Помогает инженерам проверять структуру, инварианты и живость систем. Каждый результат подтверждён математическ...

JavaScript⭐ 8
Disentinel/grafema

Disentinel/grafema

от disentinel

Grafema - MCP сервер, который строит единый граф из вашего кода, инфраструктуры и знаний, позволяя запрашивать структуру системы с помощью 30+ MCP инструментов. Полезен разработчикам и AI-агентам д...

Rust⭐ 35
hoklims/stacksfinder-mcp

hoklims/stacksfinder-mcp

от hoklims

MCP-сервер с детерминированными рекомендациями по стеку. Анализирует 80+ технологий по 6 метрикам, сравнивает и предлагает оптимальный стек под проект. Бесплатные инструменты и Pro-доступ с аудитом...

TypeScript⭐ 9
CodeLogicIncEngineering/codelogic-mcp-server

CodeLogicIncEngineering/codelogic-mcp-server

от codelogicincengineering

MCP сервер интегрирует CodeLogic в AI-помощники: анализирует влияние изменений кода и БД, генерирует CI/CD настройки, строит графы зависимостей для оценки рисков перед внедрением.

Python⭐ 37
srijanshukla18/xray

srijanshukla18/xray

от srijanshukla18

XRAY даёт AI-ассистентам навигацию по коду: карту проекта, поиск символов и анализ влияния. Использует ast-grep для точного синтаксического поиска, поддерживает Python, JS/TS, Go. Без БД и LSP — лё...

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

Лука Никитин