bdu-fstec-mcp
MCP-сервер, дающий Claude (и любому MCP-клиенту) доступ к БДУ ФСТЭК — российской базе данных угроз безопасности информации.
README
bdu-fstec-mcp
MCP-сервер, дающий Claude (и любому MCP-клиенту) доступ к БДУ ФСТЭК — российской базе данных угроз безопасности информации. Работает без геоблокировки: снимок хранится в публичном зеркале как готовая SQLite-база и раздаётся через raw.githubusercontent.com.
Зачем
bdu.fstec.ruгеоблокирует всё, что не Россия: Claude Cloud, GitHub Actionsubuntu-latest, AWS, GCP — туда не попадут.- В российской ИБ-compliance (152-ФЗ, 187-ФЗ, ГОСТ Р 57580) ключевой идентификатор уязвимости —
BDU:YYYY-NNNNN, неCVE. - В awesome-mcp-servers до сих пор нет MCP для БДУ.
Возможности
Четыре инструмента поверх 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.