falcon-mcp
falcon-mcp — сервер Model Context Protocol (MCP), который соединяет AI-агентов с платформой CrowdStrike Falcon, обеспечивая интеллектуальный анализ безопасности в ваших агентских рабочих процессах. Он предоставляет программный доступ к ключевым возможностям безопасности — включая обнаружения, информацию об угрозах и управление хостами — закладывая основы для продвинутых операций безопасности и автоматизации.
Важно
🚧 Публичный предпросмотр: Этот проект в настоящее время находится в публичном предпросмотре и активно разрабатывается. Возможности и функциональность могут измениться до стабильного выпуска 1.0. Мы призываем к исследованию и тестированию, но просим воздержаться от продакшн-развертываний. Ваши отзывы через GitHub Issues помогут сформировать финальный релиз.
Документация
Полная документация доступна на developer.crowdstrike.com/falcon-mcp.
Модули
| Module | Description |
|---|---|
| Core | Базовая связность и информация о системе |
| Case Management | Управление жизненным циклом кейсов, прикрепление доказательств, теги и шаблоны |
| Cloud Security | Контейнеры Kubernetes, уязвимости образов, инвентарь активов CSPM, выводы IOM, правила подавления, риски облака и группы облака |
| Correlation Rules | Поиск, создание, обновление и управление NG-SIEM корреляционными правилами |
| Custom IOA | Создание и управление пользовательскими IOA поведенческими правилами обнаружения и группами правил |
| Data Protection | Поиск классификаций Data Protection, политик и образцов контента |
| Detections | Поиск, агрегация и анализ обнаружений для понимания вредоносной активности |
| Discover | Поиск инвентаря приложений и обнаружение неуправляемых активов |
| Exclusions | Поиск, создание, обновление и удаление IOA, исключений на основе машинного обучения, видимости сенсора и исключений на основе сертификатов |
| Firewall Management | Поиск и управление правилами файервола и группами правил |
| Host Groups | Поиск, создание, обновление и удаление групп хостов; управление участием в группах |
| Hosts | Управление и запрос информации о хостах/устройствах |
| Identity Protection | Расследование объектов и анализ защиты идентичности |
| Intel | Исследование акторов угроз, IOC и разведданных |
| IOC | Поиск, создание и удаление пользовательских индикаторов компрометации |
| NGSIEM | Выполнение CQL-запросов к Next-Gen SIEM |
| Policies | Поиск, создание, обновление и удаление политик предотвращения, обновления сенсора, файервола, управления устройствами, реагирования и обновления контента; управление назначением в группы хостов, включение/выключение и приоритет |
| Quarantine | Поиск записей карантина, предпросмотр количества действий и выпуск, отмена выпуска или удаление quarantined файлов |
| Real Time Response | Аудит, сводка и запуск рабочих процессов triage RTR только для чтения |
| Recon | Поиск уведомлений Falcon Intelligence Recon (recon alerts), правила мониторинга и записи exposed-data для dark web, утечек учетных данных и typosquatting |
| Scheduled Reports | Управление запланированными отчетами и загрузка файлов отчетов |
| Sensor Usage | Доступ к данным об использовании сенсоров и их анализ |
| Serverless | Поиск уязвимостей в serverless-функциях |
| Shield | Построение безопасности SaaS, проверки, уведомления и инвентаризация приложений |
| Spotlight | Управление и анализ данных об уязвимостях и оценках безопасности |
См. обзор модулей (Module Overview) для необходимого API-профиля, доступных инструментов и ресурсов FQL.
Быстрый старт
Установка
Используя uv (рекомендовано)
uv tool install falcon-mcp
Используя pip
pip install falcon-mcp
Конфигурация
Установите необходимые переменные окружения (или используйте файл .env — см. Руководство по конфигурации):
export FALCON_CLIENT_ID="your-client-id"
export FALCON_CLIENT_SECRET="your-client-secret"
export FALCON_BASE_URL="https://api.crowdstrike.com"
Запуск
falcon-mcp
См. руководство Getting Started по полной установке и конфигурации.
Интеграция с редактором
Использование uvx (рекомендуется)
{
"mcpServers": {
"falcon-mcp": {
"command": "uvx",
"args": [
"--env-file",
"/path/to/.env",
"falcon-mcp"
]
}
}
}
С выбором модулей
{
"mcpServers": {
"falcon-mcp": {
"command": "uvx",
"args": [
"--env-file",
"/path/to/.env",
"falcon-mcp",
"--modules",
"detections,hosts,intel"
]
}
}
}
Docker
{
"mcpServers": {
"falcon-mcp-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--env-file",
"/full/path/to/.env",
"quay.io/crowdstrike/falcon-mcp:latest"
]
}
}
}
См. руководство Usage guide для всех опций командной строки, конфигурации модулей и использования библиотеки.
Контейнерное использование
# Скачать последнюю версию образа
docker pull quay.io/crowdstrike/falcon-mcp:latest
# Запуск с использованием .env файла (stdio транспорт)
docker run -i --rm --env-file /path/to/.env quay.io/crowdstrike/falcon-mcp:latest
# Запуск с потоковым-http транспортом (добавьте --api-key, когда порт доступен вне localhost)
docker run --rm -p 8000:8000 --env-file /path/to/.env \
quay.io/crowdstrike/falcon-mcp:latest \
--transport streamable-http --host 0.0.0.0 --api-key your-secret-key
Предупреждение
HTTP-транспorts по умолчанию не требуют аутентификации. Привязка к не-циклому адресу (--host 0.0.0.0) открывает неаутентифицированный сервер, которым может управлять любой, кто может обратиться к порту, используя ваши учетные данные CrowdStrike. Держите привязку по умолчанию к локальному адресу и указывайте --api-key всякий раз, когда вы привязываетесь шире.
Управляемые рантаймы, такие как AWS Bedrock AgentCore и Google Cloud Run, размещаются за своим собственным уровнем сетевой защиты, поэтому это не относится к ним. См. Руководство по конфигурации.
См. Руководство по развёртыванию в Docker для сборки локально, пользовательских портов и продвинутых конфигураций.
Динамический режим
Запуск большого числа модулей одновременно увеличивает размер контекстного окна, которое должен держать каждый AI-клиент. Динамический режим заменяет полный набор инструментов на три инструмента — falcon_list_enabled_tools, чтобы увидеть каждый инструмент, который обслуживает сервер, falcon_search_tools для поиска параметров инструмента по требованию и falcon_execute_tool для его выполнения — поэтому агенты загружают только те схемы, которые им действительно необходимы.
falcon-mcp --dynamic
# или: FALCON_MCP_DYNAMIC=true
См. руководство Dynamic Mode для полного цикла discover → execute и связанных с ним компромиссов.
Ограничение того, что сервер может делать
--modules — это режим «всё или ничего» для каждого модуля: включение одного модуля, чтобы получить его инструменты поиска, также открывает все инструменты, которыми обладает модуль, для которого он не включён. Три настройки инструментов позволяют сузить поверхность.
# Сервер только для расследований: регистрируются только инструменты для чтения
falcon-mcp --read-only
# Сделать доступными ровно два инструмента, ничего больше
falcon-mcp --tools falcon_search_detections,falcon_search_hosts
# Сохранить модуль, удалить один инструмент
falcon-mcp --modules hostgroups --exclude-tools falcon_delete_host_groups
# Все инструменты из detections плюс один инструмент из модуля, который не включён
falcon-mcp --modules detections --tools falcon_search_applications
| Флаг | Переменная окружения | Эффект |
|---|---|---|
| --read-only | FALCON_MCP_READ_ONLY | Регистрирует только инструменты для чтения |
| --tools | FALCON_MCP_TOOLS | Разрешённый список имён инструментов, добавляемых к включённым модулям |
| --exclude-tools | FALCON_MCP_EXCLUDE_TOOLS | Дозволенный список запретённых инструментов |
Имена инструментов — это имена с префиксом falcon_, которые отображает ваш клиент. Не распознаваемое имя вызывает прекращение запуска, вместо того чтобы быть проигнорированным, поэтому опечатка в deny-list не может незаметно оставить инструмент доступным.
Составление опций
--tools является добавочным, а не фильтром сужения. Он предоставляет отдельные инструменты поверх того, что уже включено через
--modules:
-
--tools Xсам по себе регистрирует только X — модули по умолчанию не загружируются. -
--modules detections --tools Xрегистрирует все инструменты изdetectionsплюс X, даже если X принадлежит модулю, который не включён. Этот модуль вносит только X, а не всю поверхность, иfalcon_list_enabled_modulesне перечисляет его.falcon_list_enabled_toolsперечисляет X — он сообщает о доступных инструментах, поэтому это надёжный ответ на вопрос «доступна ли эта функциональность здесь?»
Чтобы вычесть инструмент, используйте --exclude-tools или --read-only. Все четыре параметра работают вместе и разрешаются в фиксированном порядке:
-
--exclude-toolsудаляет инструмент безусловно, даже если он назван в--tools. -
--read-onlyудаляет все инструменты для записи безусловно, даже если они названы в--tools. -
--toolsдобавляет названные инструменты, обходя модульную защиту. -
--modulesопределяет, какие инструменты являются кандидатами по умолчанию.
Поскольку первые две правила всегда побеждают, безопасно устанавливать как база: --read-only и --exclude-tools. Комбинация их с добавочным --tools не может расширить доступ сверх них. Пример:
falcon-mcp --read-only --exclude-tools falcon_execute_rtr_read_only_command
Фильтрация относится и к динамическому режиму — скрытый инструмент отсутствует в результатах falcon_search_tools и отклонён falcon_execute_tool. Поскольку динамический режим распределяет по имени, а не регистрирует инструменты по отдельности, такое отклонение формулирует факт существования инструмента, но конфигурация сервера скрывает его и указывает единственное ответственное правило, чтобы агент сообщал об отключённом инструменте как отключённом, а не как несуществующем.
falcon_list_enabled_tools содержит поле filters_active в любом режиме, когда правило активно. Журнал запуска сообщает, какие правила активны и сколько инструментов было удержано --read-only и --exclude-tools, чтобы вы могли подтвердить применённое развертывание. Запускайте с --debug, чтобы увидеть удержанные инструменты по именам.
Эти опции фильтруют инструменты, а не ресурсы. Руководство по FQL для скрытого инструмента остаётся доступным — руководства являются статической документацией по полям и не содержат данные арендатора.
Варианты развертывания
Внесение вклада
# Клонирование и установка
git clone https://github.com/CrowdStrike/falcon-mcp.git
cd falcon-mcp
uv sync --all-extras
# Запуск тестов
uv run pytest
Важно
Этот проект использует Conventional Commits для автоматизированных релизов. Пожалуйста, соблюдайте формат сообщений коммитов, указанный в нашем Guide for Contributions.
Разработка документации
-
Документация Guide: Архитектура и руководство по сопровождению документации
-
Module Development Guide: Инструкция по реализации новых модулей
-
Resource Development Guide: Инструкция по реализации ресурсов
-
Integration Testing Guide: Руководство по проведению интеграционных тестов с реальными API-вызовами
Реестры
falcon-mcp публикуется в публичных MCP-каталогах для обнаружения и быстрой настройки в совместимых клиентах:
Лицензия
Этот проект распространяется по лицензии MIT — смотрите файл LICENSE для подробностей.
Поддержка
Это сообщество-ориентированный проект с открытым исходным кодом. Хотя он не является официальным продуктом CrowdStrike, он активно поддерживается CrowdStrike и совместно с сообществом разработчиков с открытым исходным кодом.
Для получения дополнительной информации смотрите наш файл SUPPORT.