Skip to main content
Glama
velvetway
by velvetway

bdu-fstec-mcp

MCP-сервер, дающий Claude (и любому MCP-клиенту) доступ к БДУ ФСТЭК — российской базе данных угроз безопасности информации. Работает без геоблокировки: снимок хранится в публичном зеркале как готовая SQLite-база и раздаётся через raw.githubusercontent.com.

Зачем

  • bdu.fstec.ru геоблокирует всё, что не Россия: Claude Cloud, GitHub Actions ubuntu-latest, AWS, GCP — туда не попадут.

  • В российской ИБ-compliance (152-ФЗ, 187-ФЗ, ГОСТ Р 57580) ключевой идентификатор уязвимости — BDU:YYYY-NNNNN, не CVE.

  • В awesome-mcp-servers до сих пор нет MCP для БДУ.

Related MCP server: Cooper Cyber Coffee OpenCTI MCP Server

Возможности

Четыре инструмента поверх 86 664 записей (снимок 18.04.2026, источник обновлён 31.12.2025):

  • search_bdu_vulnerabilities — поиск с ранжированием по FTS5 и фильтрами:

    • полнотекстовый запрос с корректной токенизацией кириллицы;

    • min_cvss, min_severity (низкий/средний/высокий/критический);

    • year (год обнаружения);

    • vendor (подстрока имени вендора);

    • has_exploit (только уязвимости с известным эксплойтом).

  • get_bdu_vulnerability — полная запись по идентификатору БДУ.

  • find_bdu_by_cve — обратный маппинг CVE → БДУ.

  • get_bdu_stats — статистика снимка и проверка актуальности.

Производительность

Операция

Время (86k записей)

Холодный старт (скачать ~50 МБ SQLite + распаковать)

5–10 с, один раз

Последующие старты

<50 мс

search_bdu_vulnerabilities c FTS5

1–20 мс

Фильтр-only (year/severity/cvss)

<5 мс (composite-индексы)

find_bdu_by_cve

1–5 мс

get_bdu_vulnerability

<5 мс

FTS5 — unicode61 remove_diacritics 2 с BM25-ранжированием, snippet-подсветкой через «…». Запросы на русском автоматически превращаются в префиксный поиск с обрезкой последних двух букв для простой морфологии (инъекцияинъекц*), так что склонения и падежи находятся.

Установка

pip install bdu-fstec-mcp

Или локально:

git clone https://github.com/velvetway/bdu-fstec-mcp
cd bdu-fstec-mcp
pip install -e .

Запуск в Claude Code

В ~/.claude/settings.json:

{
  "mcpServers": {
    "bdu-fstec": { "command": "bdu-fstec-mcp" }
  }
}

CLI

bdu-fstec-mcp            # запустить stdio-сервер (по умолчанию)
bdu-fstec-mcp run        # то же самое
bdu-fstec-mcp stats      # показать статистику локального снимка
bdu-fstec-mcp refresh    # принудительно перекачать свежий снимок

Переменные окружения

Переменная

По умолчанию

Описание

BDU_FSTEC_DB_URL

адрес в зеркале

URL к bdu.sqlite.gz.

BDU_FSTEC_STATS_URL

адрес в зеркале

URL к stats.json.

BDU_FSTEC_CACHE_DIR

$XDG_CACHE_HOME/bdu-fstec-mcp

Каталог локального кэша.

BDU_FSTEC_STALENESS_DAYS

30

После скольких дней предупреждать о старом снимке.

BDU_FSTEC_REQUEST_TIMEOUT

120

Таймаут HTTP-запросов (с).

Пример диалога

Я: Что есть у ФСТЭК по CVE-2024-1086?

Claude (вызывает find_bdu_by_cve("CVE-2024-1086")):

Найдена 1 запись БДУ — BDU:2024-01187, use-after-free в nft_verdict_init() ядра Linux, CVSS 7.8. Подтверждена производителем, эксплойт существует. Затронуты Astra Linux Special Edition 1.7, РЕД ОС 7.3, Альт 8 СП и ещё 10 дистрибутивов.

Я: Критические уязвимости Astra Linux за 2025 год, где есть эксплойт.

Claude (вызывает search_bdu_vulnerabilities(query="Astra Linux", min_severity="критический", year=2025, has_exploit=true)):

Найдено 4 результата…

Архитектура

src/bdu_fstec_mcp/
    __init__.py       пакетные константы
    _config.py        конфигурация через env
    _cli.py           CLI-обёртка (run/refresh/stats)
    cache.py          скачивание и staleness-проверка снимка
    store.py          SQLite+FTS5 запросы и DTO-гидратация
    models.py         неизменяемые dataclass-модели
    formatters.py     pretty-print для LLM
    server.py         MCP stdio-сервер и диспетчер тулов

Данные живут в отдельном репозитории bdu-fstec-mirror. MCP их только читает.

Разработка

pip install -e '.[dev]'
pytest          # 35 тестов, <1 с

Покрыты: FTS5-экранирование, фильтры, маппинг CVE→БДУ, скачивание и fallback кэша, staleness-проверки, форматтеры.

Правовая сторона

  • Данные БДУ — публичная информация, размещённая ФСТЭК России на https://bdu.fstec.ru.

  • Проект не аффилирован с ФСТЭК России.

  • Код — MIT. Данные остаются собственностью ФСТЭК России.

  • При ссылке на результаты указывайте источник.

Связанные проекты

  • velvetway/minreestr-mcp — MCP для поиска российского ПО в каталоге Минцифры / каталогпо.рф.

  • velvetway/bdu-fstec-mirror — зеркало БДУ, источник данных для этого MCP.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for the NIST National Vulnerability Database — lets AI assistants search CVEs by keyword, severity, CPE, CWE, KEV status, and date range via natural language.
    Last updated
    2
    GPL 3.0
  • A
    license
    A
    quality
    B
    maintenance
    An Open Sourced Model Context Protocol (MCP) Local server that gives Claude real-time cybersecurity reconnaissance capabilities
    Last updated
    14
    19
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server that connects Claude to Dependency-Track for natural language vulnerability triage, analysis, and management.
    Last updated
    14
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence

  • Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/velvetway/bdu-fstec-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server