https://github.com/crowdstrike/falcon-mcp

Connect AI agents to CrowdStrike Falcon for automated security analysis and threat hunting

https://github.com/crowdstrike/falcon-mcp

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary

Keywords

ai crowdstrike falcon mcp mcp-server
Last synced: 5 months ago · JSON representation

Repository

Connect AI agents to CrowdStrike Falcon for automated security analysis and threat hunting

Basic Info
  • Host: GitHub
  • Owner: CrowdStrike
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 681 KB
Statistics
  • Stars: 50
  • Watchers: 4
  • Forks: 11
  • Open Issues: 10
  • Releases: 3
Topics
ai crowdstrike falcon mcp mcp-server
Created 9 months ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Security Support

README.md

CrowdStrike Falcon

falcon-mcp

PyPI version PyPI - Python Version License: MIT

falcon-mcp is a Model Context Protocol (MCP) server that connects AI agents with the CrowdStrike Falcon platform, powering intelligent security analysis in your agentic workflows. It delivers programmatic access to essential security capabilities—including detections, incidents, and behaviors—establishing the foundation for advanced security operations and automation.

[!IMPORTANT] 🚧 Public Preview: This project is currently in public preview and under active development. Features and functionality may change before the stable 1.0 release. While we encourage exploration and testing, please avoid production deployments. We welcome your feedback through GitHub Issues to help shape the final release.

Table of Contents

API Credentials & Required Scopes

Setting Up CrowdStrike API Credentials

Before using the Falcon MCP Server, you need to create API credentials in your CrowdStrike console:

  1. Log into your CrowdStrike console
  2. Navigate to Support > API Clients and Keys
  3. Click "Add new API client"
  4. Configure your API client:
    • Client Name: Choose a descriptive name (e.g., "Falcon MCP Server")
    • Description: Optional description for your records
    • API Scopes: Select the scopes based on which modules you plan to use (see below)

Important: Ensure your API client has the necessary scopes for the modules you plan to use. You can always update scopes later in the CrowdStrike console.

Required API Scopes by Module

The Falcon MCP Server supports different modules, each requiring specific API scopes:

| Module | Required API Scopes | Purpose | |-|-|-| | Cloud Security | Falcon Container Image:read | Find and analyze kubernetes containers inventory and container imges vulnerabilities | | Core | No additional scopes | Basic connectivity and system information | | Detections | Alerts:read | Find and analyze detections to understand malicious activity | | Discover | Assets:read | Search and analyze application inventory across your environment | | Hosts | Hosts:read | Manage and query host/device information | | Identity Protection | Identity Protection Entities:read
Identity Protection Timeline:read
Identity Protection Detections:read
Identity Protection Assessment:read
Identity Protection GraphQL:write | Comprehensive entity investigation and identity protection analysis | | Incidents | Incidents:read | Analyze security incidents and coordinated activities | | Intel | Actors (Falcon Intelligence):read
Indicators (Falcon Intelligence):read
Reports (Falcon Intelligence):read | Research threat actors, IOCs, and intelligence reports | | Sensor Usage | Sensor Usage:read | Access and analyze sensor usage data | | Serverless | Falcon Container Image:read | Search for vulnerabilities in serverless functions across cloud service providers | | Spotlight | Vulnerabilities:read | Manage and analyze vulnerability data and security assessments |

Available Modules, Tools & Resources

[!IMPORTANT] ⚠️ Important Note on FQL Guide Resources: Several modules include FQL (Falcon Query Language) guide resources that provide comprehensive query documentation and examples. While these resources are designed to assist AI assistants and users with query construction, FQL has nuanced syntax requirements and field-specific behaviors that may not be immediately apparent. AI-generated FQL filters should be tested and validated before use in production environments. We recommend starting with simple queries and gradually building complexity while verifying results in a test environment first.

About Tools & Resources: This server provides both tools (actions you can perform) and resources (documentation and context). Tools execute operations like searching for detections or analyzing threats, while resources provide comprehensive documentation like FQL query guides that AI assistants can reference for context without requiring tool calls.

Cloud Security Module

API Scopes Required:

  • Falcon Container Image:read

Provides tools for accessing and analyzing CrowdStrike Cloud Security resources:

  • falcon_search_kubernetes_containers: Search for containers from CrowdStrike Kubernetes & Containers inventory
  • falcon_count_kubernetes_containers: Count for containers by filter criteria from CrowdStrike Kubernetes & Containers inventory
  • falcon_search_images_vulnerabilities: Search for images vulnerabilities from CrowdStrike Image Assessments

Resources:

  • falcon://cloud/kubernetes-containers/fql-guide: Comprehensive FQL documentation and examples for kubernetes containers searches
  • falcon://cloud/images-vulnerabilities/fql-guide: Comprehensive FQL documentation and examples for images vulnerabilities searches

Use Cases: Manage kubernetes containers inventory, container images vulnerabilities analysis

Core Functionality (Built into Server)

API Scopes: None required beyond basic API access

The server provides core tools for interacting with the Falcon API:

  • falcon_check_connectivity: Check connectivity to the Falcon API
  • falcon_list_enabled_modules: Lists enabled modules in the falcon-mcp server > These modules are determined by the --modules flag when starting the server. If no modules are specified, all available modules are enabled.
  • falcon_list_modules: Lists all available modules in the falcon-mcp server

Detections Module

API Scopes Required: Alerts:read

Provides tools for accessing and analyzing CrowdStrike Falcon detections:

  • falcon_search_detections: Find and analyze detections to understand malicious activity in your environment
  • falcon_get_detection_details: Get comprehensive detection details for specific detection IDs to understand security threats

Resources:

  • falcon://detections/search/fql-guide: Comprehensive FQL documentation and examples for detection searches

Use Cases: Threat hunting, security analysis, incident response, malware investigation

Discover Module

API Scopes Required: Assets:read

Provides tools for accessing and managing CrowdStrike Falcon Discover applications and unmanaged assets:

  • falcon_search_applications: Search for applications in your CrowdStrike environment
  • falcon_search_unmanaged_assets: Search for unmanaged assets (systems without Falcon sensor installed) that have been discovered by managed systems

Resources:

  • falcon://discover/applications/fql-guide: Comprehensive FQL documentation and examples for application searches
  • falcon://discover/hosts/fql-guide: Comprehensive FQL documentation and examples for unmanaged assets searches

Use Cases: Application inventory management, software asset management, license compliance, vulnerability assessment, unmanaged asset discovery, security gap analysis

Hosts Module

API Scopes Required: Hosts:read

Provides tools for accessing and managing CrowdStrike Falcon hosts/devices:

  • falcon_search_hosts: Search for hosts in your CrowdStrike environment
  • falcon_get_host_details: Retrieve detailed information for specified host device IDs

Resources:

  • falcon://hosts/search/fql-guide: Comprehensive FQL documentation and examples for host searches

Use Cases: Asset management, device inventory, host monitoring, compliance reporting

Identity Protection Module

API Scopes Required: Identity Protection Entities:read, Identity Protection Timeline:read, Identity Protection Detections:read, Identity Protection Assessment:read, Identity Protection GraphQL:write

Provides tools for accessing and managing CrowdStrike Falcon Identity Protection capabilities:

  • idp_investigate_entity: Entity investigation tool for analyzing users, endpoints, and other entities with support for timeline analysis, relationship mapping, and risk assessment

Use Cases: Entity investigation, identity protection analysis, user behavior analysis, endpoint security assessment, relationship mapping, risk assessment

Incidents Module

API Scopes Required: Incidents:read

Provides tools for accessing and analyzing CrowdStrike Falcon incidents:

  • falcon_show_crowd_score: View calculated CrowdScores and security posture metrics for your environment
  • falcon_search_incidents: Find and analyze security incidents to understand coordinated activity in your environment
  • falcon_get_incident_details: Get comprehensive incident details to understand attack patterns and coordinated activities
  • falcon_search_behaviors: Find and analyze behaviors to understand suspicious activity in your environment
  • falcon_get_behavior_details: Get detailed behavior information to understand attack techniques and tactics

Resources:

  • falcon://incidents/crowd-score/fql-guide: Comprehensive FQL documentation for CrowdScore queries
  • falcon://incidents/search/fql-guide: Comprehensive FQL documentation and examples for incident searches
  • falcon://incidents/behaviors/fql-guide: Comprehensive FQL documentation and examples for behavior searches

Use Cases: Incident management, threat assessment, attack pattern analysis, security posture monitoring

Intel Module

API Scopes Required:

  • Actors (Falcon Intelligence):read
  • Indicators (Falcon Intelligence):read
  • Reports (Falcon Intelligence):read

Provides tools for accessing and analyzing CrowdStrike Intelligence:

  • falcon_search_actors: Research threat actors and adversary groups tracked by CrowdStrike intelligence
  • falcon_search_indicators: Search for threat indicators and indicators of compromise (IOCs) from CrowdStrike intelligence
  • falcon_search_reports: Access CrowdStrike intelligence publications and threat reports

Resources:

  • falcon://intel/actors/fql-guide: Comprehensive FQL documentation and examples for threat actor searches
  • falcon://intel/indicators/fql-guide: Comprehensive FQL documentation and examples for indicator searches
  • falcon://intel/reports/fql-guide: Comprehensive FQL documentation and examples for intelligence report searches

Use Cases: Threat intelligence research, adversary tracking, IOC analysis, threat landscape assessment

Sensor Usage Module

API Scopes Required: Sensor Usage:read

Provides tools for accessing and analyzing CrowdStrike Falcon sensor usage data:

  • falcon_search_sensor_usage: Search for weekly sensor usage data in your CrowdStrike environment

Resources:

  • falcon://sensor-usage/weekly/fql-guide: Comprehensive FQL documentation and examples for sensor usage searches

Use Cases: Sensor deployment monitoring, license utilization analysis, sensor health tracking

Serverless Module

API Scopes Required: Falcon Container Image:read

Provides tools for accessing and managing CrowdStrike Falcon Serverless Vulnerabilities:

  • falcon_search_serverless_vulnerabilities: Search for vulnerabilities in your serverless functions across all cloud service providers

Resources:

  • falcon://serverless/vulnerabilities/fql-guide: Comprehensive FQL documentation and examples for serverless vulnerabilities searches

Use Cases: Serverless security assessment, vulnerability management, cloud security monitoring

Spotlight Module

API Scopes Required: Vulnerabilities:read

Provides tools for accessing and managing CrowdStrike Spotlight vulnerabilities:

  • falcon_search_vulnerabilities: Search for vulnerabilities in your CrowdStrike environment

Resources:

  • falcon://spotlight/vulnerabilities/fql-guide: Comprehensive FQL documentation and examples for vulnerability searches

Use Cases: Vulnerability management, security assessments, compliance reporting, risk analysis, patch prioritization

Installation & Setup

Prerequisites

  • Python 3.11 or higher
  • uv or pip
  • CrowdStrike Falcon API credentials (see above)

Environment Configuration

You can configure your CrowdStrike API credentials in several ways:

Use a .env File

If you prefer using a .env file, you have several options:

Option 1: Copy from cloned repository (if you've cloned it)

bash cp .env.example .env

Option 2: Download the example file from GitHub

bash curl -o .env https://raw.githubusercontent.com/CrowdStrike/falcon-mcp/main/.env.example

Option 3: Create manually with the following content

```bash

Required Configuration

FALCONCLIENTID=your-client-id FALCONCLIENTSECRET=your-client-secret FALCONBASEURL=https://api.crowdstrike.com

Optional Configuration (uncomment and modify as needed)

FALCONMCPMODULES=detections,incidents,intel

FALCONMCPTRANSPORT=stdio

FALCONMCPDEBUG=false

FALCONMCPHOST=127.0.0.1

FALCONMCPPORT=8000

```

Environment Variables

Alternatively, you can use environment variables directly.

Set the following environment variables in your shell:

```bash

Required Configuration

export FALCONCLIENTID="your-client-id" export FALCONCLIENTSECRET="your-client-secret" export FALCONBASEURL="https://api.crowdstrike.com"

Optional Configuration

export FALCONMCPMODULES="detections,incidents,intel" # Comma-separated list (default: all modules) export FALCONMCPTRANSPORT="stdio" # Transport method: stdio, sse, streamable-http export FALCONMCPDEBUG="false" # Enable debug logging: true, false export FALCONMCPHOST="127.0.0.1" # Host for HTTP transports export FALCONMCPPORT="8000" # Port for HTTP transports ```

CrowdStrike API Region URLs:

  • US-1 (Default): 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

Installation

Install using uv

bash uv tool install falcon-mcp

Install using pip

bash pip install falcon-mcp

[!TIP] If falcon-mcp isn't found, update your shell PATH.

For installation via code editors/assistants, see the Editor/Assitant section below

Usage

Command Line

Run the server with default settings (stdio transport):

bash falcon-mcp

Run with SSE transport:

bash falcon-mcp --transport sse

Run with streamable-http transport:

bash falcon-mcp --transport streamable-http

Run with streamable-http transport on custom port:

bash falcon-mcp --transport streamable-http --host 0.0.0.0 --port 8080

Module Configuration

The Falcon MCP Server supports multiple ways to specify which modules to enable:

1. Command Line Arguments (highest priority)

Specify modules using comma-separated lists:

```bash

Enable specific modules

falcon-mcp --modules detections,incidents,intel,spotlight,idp

Enable only one module

falcon-mcp --modules detections ```

2. Environment Variable (fallback)

Set the FALCON_MCP_MODULES environment variable:

```bash

Export environment variable

export FALCONMCPMODULES=detections,incidents,intel,spotlight,idp falcon-mcp

Or set inline

FALCONMCPMODULES=detections,incidents,intel,spotlight,idp falcon-mcp ```

3. Default Behavior (all modules)

If no modules are specified via command line or environment variable, all available modules are enabled by default.

Module Priority Order:

  1. Command line --modules argument (overrides all)
  2. FALCON_MCP_MODULES environment variable (fallback)
  3. All modules (default when none specified)

Additional Command Line Options

For all available options:

bash falcon-mcp --help

As a Library

```python from falcon_mcp.server import FalconMCPServer

Create and run the server

server = FalconMCPServer( baseurl="https://api.us-2.crowdstrike.com", # Optional, defaults to env var debug=True, # Optional, enable debug logging enabledmodules=["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) ```

Running Examples

```bash

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/streamablehttpusage.py ```

Container Usage

The Falcon MCP Server is available as a pre-built container image for easy deployment:

Using Pre-built Image (Recommended)

```bash

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 FALCONCLIENTID=yourclientid -e FALCONCLIENTSECRET=your_secret \ quay.io/crowdstrike/falcon-mcp:latest ```

Building Locally (Development)

For development or customization purposes, you can build the image locally:

```bash

Build the Docker image

docker build -t falcon-mcp .

Run the locally built image

docker run --rm -e FALCONCLIENTID=yourclientid -e FALCONCLIENTSECRET=your_secret falcon-mcp ```

[!NOTE] When using HTTP transports in Docker, always set --host 0.0.0.0 to allow external connections to the container.

Editor/Assistant Integration

You can integrate the Falcon MCP server with your editor or AI assistant. Here are configuration examples for popular MCP clients:

Using uvx (recommended)

json { "mcpServers": { "falcon-mcp": { "command": "uvx", "args": [ "--env-file", "/path/to/.env", "falcon-mcp" ] } } }

With Module Selection

json { "mcpServers": { "falcon-mcp": { "command": "uvx", "args": [ "--env-file", "/path/to/.env", "falcon-mcp", "--modules", "detections,incidents,intel" ] } } }

Using Individual Environment Variables

json { "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 Version

json { "mcpServers": { "falcon-mcp-docker": { "command": "docker", "args": [ "run", "-i", "--rm", "--env-file", "/full/path/to/.env", "quay.io/crowdstrike/falcon-mcp:latest" ] } } }

[!NOTE] The -i flag is required when using the default stdio transport.

Additional Deployment Options

Amazon Bedrock AgentCore

To deploy the MCP Server as a tool in Amazon Bedrock AgentCore, please refer to the following document.

Contributing

Getting Started for Contributors

  1. Clone the repository:

bash git clone https://github.com/CrowdStrike/falcon-mcp.git cd falcon-mcp

  1. Install in development mode:

```bash # Create .venv and install dependencies uv sync --all-extras

# Activate the venv source .venv/bin/activate ```

[!IMPORTANT] This project uses Conventional Commits for automated releases and semantic versioning. Please follow the commit message format outlined in our Contributing Guide when submitting changes.

Running Tests

```bash

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/ ```

Note: The -s flag is required to see detailed output from E2E tests.

Developer Documentation

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

This is a community-driven, open source project. While it is not an official CrowdStroke product, it is actively maintained by CrowdStrike and supported in collaboration with the open source developer community.

For more information, please see our SUPPORT file.

Owner

  • Name: CrowdStrike
  • Login: CrowdStrike
  • Kind: organization
  • Email: github@crowdstrike.com
  • Location: United States of America

GitHub Events

Total
  • Fork event: 5
  • Create event: 46
  • Issues event: 12
  • Release event: 3
  • Watch event: 26
  • Delete event: 36
  • Member event: 1
  • Issue comment event: 24
  • Public event: 1
  • Push event: 112
  • Pull request review comment event: 11
  • Pull request review event: 47
  • Pull request event: 74
Last Year
  • Fork event: 5
  • Create event: 46
  • Issues event: 12
  • Release event: 3
  • Watch event: 26
  • Delete event: 36
  • Member event: 1
  • Issue comment event: 24
  • Public event: 1
  • Push event: 112
  • Pull request review comment event: 11
  • Pull request review event: 47
  • Pull request event: 74

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 10
  • Total pull requests: 52
  • Average time to close issues: 6 days
  • Average time to close pull requests: 2 days
  • Total issue authors: 4
  • Total pull request authors: 9
  • Average comments per issue: 0.4
  • Average comments per pull request: 0.37
  • Merged pull requests: 21
  • Bot issues: 1
  • Bot pull requests: 21
Past Year
  • Issues: 10
  • Pull requests: 52
  • Average time to close issues: 6 days
  • Average time to close pull requests: 2 days
  • Issue authors: 4
  • Pull request authors: 9
  • Average comments per issue: 0.4
  • Average comments per pull request: 0.37
  • Merged pull requests: 21
  • Bot issues: 1
  • Bot pull requests: 21
Top Authors
Issue Authors
  • carlosmmatos (7)
  • pietrozullo (1)
  • dependabot[bot] (1)
  • Spencewap (1)
Pull Request Authors
  • dependabot[bot] (20)
  • carlosmmatos (15)
  • cristianmessel-cs (10)
  • maayanselacr (2)
  • nikhilpurwant (1)
  • github-actions[bot] (1)
  • evanstoner (1)
  • lwsinclair (1)
  • fslds (1)
Top Labels
Issue Labels
enhancement (4) refactoring (2) documentation (2) security (1) dependencies (1) python (1)
Pull Request Labels
dependencies (17) python (13) enhancement (4) github-action (2) github-actions (2) autorelease: pending (2) docker (2) refactoring (1) documentation (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 517 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 2
pypi.org: falcon-mcp

CrowdStrike Falcon MCP Server

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 517 Last month
Rankings
Dependent packages count: 8.8%
Average: 29.3%
Dependent repos count: 49.7%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.github/workflows/markdown-lint.yml actions
  • DavidAnson/markdownlint-cli2-action v15 composite
  • actions/checkout v4 composite
.github/workflows/python-lint.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/python-test-e2e.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
.github/workflows/python-test.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/release.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • google-github-actions/release-please-action v3 composite
Dockerfile docker
  • ghcr.io/astral-sh/uv python3.11-alpine build
  • python 3.11-alpine build
pyproject.toml pypi
  • crowdstrike-falconpy >=1.3.0
  • mcp >=1.8.0,<2.0.0
  • python-dotenv >=1.0.0
requirements.txt pypi
  • black >=23.0.0
  • crowdstrike-falconpy >=1.3.0
  • flake8 >=6.0.0
  • isort >=5.12.0
  • langchain-openai *
  • mcp >=1.4.0
  • mcp-use ==1.3.1
  • mypy >=1.0.0
  • pytest >=7.0.0
  • python-dotenv >=1.0.0
uv.lock pypi
  • 108 dependencies