猎鹰mcp
](https://badge.fury.io/py/falcon-mcp) ](https://pypi.org/project/falcon-mcp/) 
猎鹰mcp 是一个模型上下文协议(MCP)服务器,它将AI代理与CrowdStrike Falcon平台连接起来,为代理工作流程中的智能安全分析提供动力。它提供了对基本安全功能(包括检测、事件和行为)的程序化访问,为高级安全操作和自动化奠定了基础。
\[!重要\] 🚧 公开预览:该项目目前处于公开预览阶段,正在积极开发中。在稳定的1.0版本发布之前,功能和特性可能会发生变化。虽然我们鼓励勘探和测试,但请避免生产部署。我们欢迎您通过以下方式提供反馈 以帮助塑造最终版本。
目录
- 设置CrowdStrike API凭据 - 按模块划分的API所需范围
- 云安全模块 - 核心功能(内置于服务器中) - 检测模块 - 发现模块 - 主机模块 - 身份保护模块 - 事件模块 - 英特尔模块 - 传感器使用模块 - 无服务器模块 - 聚光灯模块
- 命令行 - 模块配置 - 其他命令行选项 - 作为图书馆 - 运行示例
- 使用预构建图像(推荐) - 本地建设(发展)
- 使用 uvx (推荐) - 通过模块选择 - 使用单个环境变量 -
API证书和所需范围
设置CrowdStrike API凭据
在使用Falcon MCP服务器之前,您需要在CrowdStrike控制台中创建API凭据:
- 登录您的CrowdStrike控制台
- 导航到支持>API客户端和密钥
- 单击“添加新的API客户端”
- 配置API客户端:
- 客户名称:选择一个描述性名称(例如“Falcon MCP服务器”) - 描述:记录的可选描述 - API范围:根据您计划使用的模块选择范围(见下文)
重要:确保API客户端具有计划使用的模块所需的作用域。您始终可以稍后在CrowdStrike控制台中更新作用域。
按模块划分的API所需范围
Falcon MCP服务器支持不同的模块,每个模块都需要特定的API范围:
|模块|所需API范围|目的| |-|-|-| | 云安全 | Falcon Container Image:read |查找并分析kubernetes容器清单和容器imges漏洞| | 核心 | _无其他作用域_ |基本连接和系统信息| | 检测 | Alerts:read |查找并分析检测结果以了解恶意活动| | 发现 | Assets:read |在整个环境中搜索和分析应用程序清单| | 主机 | Hosts:read |管理和查询主机/设备信息| | 身份保护 | Identity Protection Entities:read Identity Protection Timeline:read Identity Protection Detections:read Identity Protection Assessment:read Identity Protection GraphQL:write |全面的实体调查和身份保护分析| | 事件 | Incidents:read |分析安全事件和协调活动| | 英特尔 | Actors (Falcon Intelligence):read Indicators (Falcon Intelligence):read Reports (Falcon Intelligence):read |研究威胁行为者、国际奥委会和情报报告| | 传感器使用 | Sensor Usage:read |访问和分析传感器使用数据| | 无服务器 | Falcon Container Image:read |跨云服务提供商搜索无服务器功能中的漏洞| | 聚光灯 | Vulnerabilities:read |管理和分析漏洞数据和安全评估|
可用模块、工具和资源
\[!重要\] ⚠️ FQL指南资源的重要说明:几个模块包括FQL(Falcon Query Language)指南资源,提供全面的查询文档和示例。虽然这些资源旨在帮助AI助手和用户进行查询构建, FQL具有微妙的语法要求和特定于字段的行为 这可能不会立即显现出来。AI生成的FQL过滤器应 经过测试和验证 在生产环境中使用之前。我们建议从简单的查询开始,逐步构建复杂性,同时首先在测试环境中验证结果。
关于工具和资源:此服务器提供工具(您可以执行的操作)和资源(文档和上下文)。工具执行搜索检测或分析威胁等操作,而资源提供全面的文档,如FQL查询指南,人工智能助手可以在不需要工具调用的情况下参考这些文档。
云安全模块
API范围要求:
Falcon Container Image:read
提供用于访问和分析CrowdStrike云安全资源的工具:
falcon_search_kubernetes_containers:从CrowdStrike Kubernetes和容器库存中搜索容器falcon_count_kubernetes_containers:根据CrowdStrike Kubernetes和容器库存中的筛选条件计算容器数量falcon_search_images_vulnerabilities:从CrowdStrike图像评估中搜索图像漏洞
资源:
falcon://cloud/kubernetes-containers/fql-guide:kubernetes容器搜索的全面FQL文档和示例falcon://cloud/images-vulnerabilities/fql-guide:全面的FQL文档和图像漏洞搜索示例
用例:管理kubernetes容器清单,容器映像漏洞分析
核心功能(内置于服务器中)
API范围: _除基本API访问权限外,不需要任何其他访问权限_
服务器提供了与Falcon API交互的核心工具:
falcon_check_connectivity:检查与Falcon API的连接falcon_list_enabled_modules:列出falcon mcp服务器中已启用的模块
> 这些模块由以下因素决定 --modules 旗帜 启动服务器时。如果没有指定模块,则启用所有可用模块。
falcon_list_modules:列出falcon mcp服务器中的所有可用模块
检测模块
API范围要求: Alerts:read
提供用于访问和分析CrowdStrike Falcon检测的工具:
falcon_search_detections:查找并分析检测结果,以了解您环境中的恶意活动falcon_get_detection_details:获取特定检测ID的全面检测详细信息,以了解安全威胁
资源:
falcon://detections/search/fql-guide:全面的FQL文档和检测搜索示例
用例:威胁搜索、安全分析、事件响应、恶意软件调查
发现模块
API范围要求: Assets:read
提供用于访问和管理CrowdStrike Falcon Discover应用程序和非托管资产的工具:
falcon_search_applications:在CrowdStrike环境中搜索应用程序falcon_search_unmanaged_assets:搜索被管理系统发现的非管理资产(未安装Falcon传感器的系统)
资源:
falcon://discover/applications/fql-guide:全面的FQL文档和应用程序搜索示例falcon://discover/hosts/fql-guide:全面的FQL文档和非托管资产搜索示例
用例:应用程序清单管理、软件资产管理、许可证合规性、漏洞评估、非托管资产发现、安全漏洞分析
主机模块
API范围要求: Hosts:read
提供用于访问和管理CrowdStrike Falcon主机/设备的工具:
falcon_search_hosts:在CrowdStrike环境中搜索主机falcon_get_host_details:检索指定主机设备ID的详细信息
资源:
falcon://hosts/search/fql-guide:全面的FQL文档和主机搜索示例
用例:资产管理、设备库存、主机监控、合规性报告
身份保护模块
API范围要求: Identity Protection Entities:read, Identity Protection Timeline:read, Identity Protection Detections:read, Identity Protection Assessment:read, Identity Protection GraphQL:write
提供用于访问和管理CrowdStrike Falcon身份保护功能的工具:
idp_investigate_entity:实体调查工具,用于分析用户、端点和其他实体,支持时间线分析、关系映射和风险评估
用例:实体调查、身份保护分析、用户行为分析、端点安全评估、关系映射、风险评估
事件模块
API范围要求: Incidents:read
提供用于访问和分析CrowdStrike Falcon事件的工具:
falcon_show_crowd_score:查看为您的环境计算的CrowdScores和安全态势指标falcon_search_incidents:查找和分析安全事件,以了解您环境中的协调活动falcon_get_incident_details:获取全面的事件细节,以了解攻击模式和协调活动falcon_search_behaviors:查找并分析行为,以了解您环境中的可疑活动falcon_get_behavior_details:获取详细的行为信息,以了解攻击技术和战术
资源:
falcon://incidents/crowd-score/fql-guide:用于CrowdScore查询的全面FQL文档falcon://incidents/search/fql-guide:全面的FQL文档和事件搜索示例falcon://incidents/behaviors/fql-guide:全面的FQL文档和行为搜索示例
用例:事件管理、威胁评估、攻击模式分析、安全态势监测
英特尔模块
API范围要求:
Actors (Falcon Intelligence):readIndicators (Falcon Intelligence):readReports (Falcon Intelligence):read
提供用于访问和分析CrowdStrike Intelligence的工具:
falcon_search_actors:研究CrowdStrike情报跟踪的威胁行为者和敌方团体falcon_search_indicators:从CrowdStrike情报中搜索威胁指标和妥协指标(IOC)falcon_search_reports:访问CrowdStrike情报出版物和威胁报告
资源:
falcon://intel/actors/fql-guide:全面的FQL文档和威胁行为者搜索示例falcon://intel/indicators/fql-guide:全面的FQL文档和指标搜索示例falcon://intel/reports/fql-guide:全面的FQL文档和情报报告搜索示例
用例:威胁情报研究、对手跟踪、IOC分析、威胁态势评估
传感器使用模块
API范围要求: Sensor Usage:read
提供用于访问和分析CrowdStrike Falcon传感器使用数据的工具:
falcon_search_sensor_usage:在CrowdStrike环境中搜索每周传感器使用数据
资源:
falcon://sensor-usage/weekly/fql-guide:全面的FQL文档和传感器使用搜索示例
用例:传感器部署监控、许可证利用率分析、传感器健康跟踪
无服务器模块
API范围要求: Falcon Container Image:read
提供用于访问和管理CrowdStrike Falcon无服务器漏洞的工具:
falcon_search_serverless_vulnerabilities:搜索所有云服务提供商的无服务器功能中的漏洞
资源:
falcon://serverless/vulnerabilities/fql-guide:无服务器漏洞搜索的全面FQL文档和示例
用例:无服务器安全评估、漏洞管理、云安全监控
聚光灯模块
API范围要求: Vulnerabilities:read
提供用于访问和管理CrowdStrike Spotlight漏洞的工具:
falcon_search_vulnerabilities:搜索CrowdStrike环境中的漏洞
资源:
falcon://spotlight/vulnerabilities/fql-guide:全面的FQL文档和漏洞搜索示例
用例:漏洞管理、安全评估、合规性报告、风险分析、补丁优先级
安装和设置
先决条件
- Python 3.11或更高版本
uv或pip- CrowdStrike Falcon API证书(见上文)
环境配置
您可以通过以下几种方式配置CrowdStrike API凭据:
使用 .env 文件
如果你更喜欢使用 .env 文件,您有几个选项:
选项1:从克隆的存储库复制(如果您已经克隆了它)
cp .env.example .env选项2:从GitHub下载示例文件
curl -o .env https://raw.githubusercontent.com/CrowdStrike/falcon-mcp/main/.env.example选项3:使用以下内容手动创建
# Required Configuration
FALCON_CLIENT_ID=your-client-id
FALCON_CLIENT_SECRET=your-client-secret
FALCON_BASE_URL=https://api.crowdstrike.com
# Optional Configuration (uncomment and modify as needed)
#FALCON_MCP_MODULES=detections,incidents,intel
#FALCON_MCP_TRANSPORT=stdio
#FALCON_MCP_DEBUG=false
#FALCON_MCP_HOST=127.0.0.1
#FALCON_MCP_PORT=8000环境变量
或者,您可以直接使用环境变量。
在shell中设置以下环境变量:
# Required Configuration
export FALCON_CLIENT_ID="your-client-id"
export FALCON_CLIENT_SECRET="your-client-secret"
export FALCON_BASE_URL="https://api.crowdstrike.com"
# Optional Configuration
export FALCON_MCP_MODULES="detections,incidents,intel" # Comma-separated list (default: all modules)
export FALCON_MCP_TRANSPORT="stdio" # Transport method: stdio, sse, streamable-http
export FALCON_MCP_DEBUG="false" # Enable debug logging: true, false
export FALCON_MCP_HOST="127.0.0.1" # Host for HTTP transports
export FALCON_MCP_PORT="8000" # Port for HTTP transportsCrowdStrike API地区网址:
- US-1(默认):
https://api.crowdstrike.com - US-2:
https://api.us-2.crowdstrike.com - EU-1:
https://api.eu-1.crowdstrike.com - US-GOV:
https://api.laggar.gcw.crowdstrike.com
安装
\[!注意\] 如果您只想通过代理聊天界面与falcon mcp交互,而不是运行服务器本身,请查看 其他部署选项。否则,请继续执行以下安装步骤。
使用uv进行安装
uv tool install falcon-mcp使用pip安装
pip install falcon-mcp\[!提示\] 如果 falcon-mcp 找不到,请更新shell PATH。有关通过代码编辑器/助手安装的信息,请参阅 编辑/助理 下节
用法
命令行
使用默认设置(stdio传输)运行服务器:
falcon-mcp使用SSE传输运行:
falcon-mcp --transport sse使用流式http传输运行:
falcon-mcp --transport streamable-http在自定义端口上使用流式http传输运行:
falcon-mcp --transport streamable-http --host 0.0.0.0 --port 8080模块配置
Falcon MCP服务器支持多种方式来指定要启用的模块:
1.命令行参数(最高优先级)
使用逗号分隔的列表指定模块:
# Enable specific modules
falcon-mcp --modules detections,incidents,intel,spotlight,idp
# Enable only one module
falcon-mcp --modules detections2.环境变量(回退)
设置 FALCON_MCP_MODULES 环境变量:
# Export environment variable
export FALCON_MCP_MODULES=detections,incidents,intel,spotlight,idp
falcon-mcp
# Or set inline
FALCON_MCP_MODULES=detections,incidents,intel,spotlight,idp falcon-mcp3.默认行为(所有模块)
如果没有通过命令行或环境变量指定模块,则默认情况下启用所有可用模块。
模块优先级顺序:
- 命令行
--modules参数(覆盖全部) FALCON_MCP_MODULES环境变量(回退)- 所有模块(未指定时默认)
其他命令行选项
对于所有可用选项:
falcon-mcp --help作为图书馆
from falcon_mcp.server import FalconMCPServer
# Create and run the server
server = FalconMCPServer(
base_url="https://api.us-2.crowdstrike.com", # Optional, defaults to env var
debug=True, # Optional, enable debug logging
enabled_modules=["detections", "incidents", "spotlight", "idp"] # Optional, defaults to all modules
)
# Run with stdio transport (default)
server.run()
# Or run with SSE transport
server.run("sse")
# Or run with streamable-http transport
server.run("streamable-http")
# Or run with streamable-http transport on custom host/port
server.run("streamable-http", host="0.0.0.0", port=8080)运行示例
# Run with stdio transport
python examples/basic_usage.py
# Run with SSE transport
python examples/sse_usage.py
# Run with streamable-http transport
python examples/streamable_http_usage.py容器使用情况
Falcon MCP服务器可作为预构建的容器映像使用,便于部署:
使用预构建图像(推荐)
# Pull the latest pre-built image
docker pull quay.io/crowdstrike/falcon-mcp:latest
# Run with .env file (recommended)
docker run -i --rm --env-file /path/to/.env quay.io/crowdstrike/falcon-mcp:latest
# Run with .env file and SSE transport
docker run --rm -p 8000:8000 --env-file /path/to/.env \
quay.io/crowdstrike/falcon-mcp:latest --transport sse --host 0.0.0.0
# Run with .env file and streamable-http transport
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
# Run with .env file and custom port
docker run --rm -p 8080:8080 --env-file /path/to/.env \
quay.io/crowdstrike/falcon-mcp:latest --transport streamable-http --host 0.0.0.0 --port 8080
# Run with .env file and specific modules (stdio transport - requires -i flag)
docker run -i --rm --env-file /path/to/.env \
quay.io/crowdstrike/falcon-mcp:latest --modules detections,incidents,spotlight,idp
# Use a specific version instead of latest (stdio transport - requires -i flag)
docker run -i --rm --env-file /path/to/.env \
quay.io/crowdstrike/falcon-mcp:1.2.3
# Alternative: Individual environment variables (stdio transport - requires -i flag)
docker run -i --rm -e FALCON_CLIENT_ID=your_client_id -e FALCON_CLIENT_SECRET=your_secret \
quay.io/crowdstrike/falcon-mcp:latest本地建设(发展)
出于开发或定制目的,您可以在本地构建映像:
# Build the Docker image
docker build -t falcon-mcp .
# Run the locally built image
docker run --rm -e FALCON_CLIENT_ID=your_client_id -e FALCON_CLIENT_SECRET=your_secret falcon-mcp\[!注意\] 在Docker中使用HTTP传输时,始终设置 --host 0.0.0.0 以允许与容器的外部连接。编辑/助理集成
您可以将Falcon MCP服务器与编辑器或AI助手集成。以下是常见MCP客户端的配置示例:
使用 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,incidents,intel"
]
}
}
}使用单个环境变量
{
"mcpServers": {
"falcon-mcp": {
"command": "uvx",
"args": ["falcon-mcp"],
"env": {
"FALCON_CLIENT_ID": "your-client-id",
"FALCON_CLIENT_SECRET": "your-client-secret",
"FALCON_BASE_URL": "https://api.crowdstrike.com"
}
}
}
}Docker版本
{
"mcpServers": {
"falcon-mcp-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--env-file",
"/full/path/to/.env",
"quay.io/crowdstrike/falcon-mcp:latest"
]
}
}
}\[!注意\] 这 -i 使用默认stdio传输时需要标记。其他部署选项
亚马逊基岩代理核心
要将MCP服务器作为工具部署在Amazon Bedrock AgentCore中,请参阅 以下文件.
谷歌云(云运行和顶点AI)
要将MCP服务器部署为Cloud Run或Vertex AI代理引擎中的代理(包括在Agentspace中注册),请参阅 谷歌ADK示例.
贡献
贡献者入门
- 克隆存储库:
git clone https://github.com/CrowdStrike/falcon-mcp.git
cd falcon-mcp- 在开发模式下安装:
# Create .venv and install dependencies
uv sync --all-extras
# Activate the venv
source .venv/bin/activate\[!重要\] 此项目使用 约定式提交 用于自动发布和语义版本控制。请遵循我们的提交消息格式 贡献指南 提交更改时。
运行测试
# Run all tests
pytest
# Run end-to-end tests
pytest --run-e2e tests/e2e/
# Run end-to-end tests with verbose output (note: -s is required to see output)
pytest --run-e2e -v -s tests/e2e/备注:The -s 需要标记才能查看E2E测试的详细输出。开发者文档
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
这是一个社区驱动的开源项目。虽然它不是官方的CrowdStroke产品,但它由CrowdStrike积极维护,并与开源开发人员社区合作提供支持。
有关更多信息,请参阅我们的 支持 文件。
