Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CrowdStrike Falcon MCP Serverlist the most recent high severity detections"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CrowdStrike Falcon MCP Server
A Model Context Protocol (MCP) server for interacting with the CrowdStrike Falcon API. This server provides both STDIO (for MCP-aware clients) and HTTP/REST (for broader interoperability) transport modes.
Features
Dual Transport Support: Supports both STDIO (MCP protocol) and HTTP/REST simultaneously
Secure Credential Handling: Credentials can be passed as function parameters or via environment variables
Multi-tenant Support: Optional tenant ID support for multi-tenant scenarios
Comprehensive API Coverage: Tools for hosts, detections, IOCs, policies, and more
Production Ready: Docker support with health checks and GitHub Actions CI/CD
Architecture
Installation
Docker (Recommended)
Configuration
Environment Variables
FALCON_API_KEY(orCROWDSTRIKE_API_KEY): Your CrowdStrike API keyFALCON_TENANT_ID(orCROWDSTRIKE_TENANT_ID): Optional tenant ID for multi-tenant scenariosFALCON_API_BASE_URL: API base URL (default:https://api.crowdstrike.com)TRANSPORT_MODE: Transport mode -stdio,http, ordual(default:dual)HTTP_PORT: HTTP server port (default:80)STDIO_PORT: STDIO port (default:8080)
Credential Handling
Security Note: Credentials are never stored. They can be provided in two ways:
Function Parameters: Pass
api_keyand optionaltenant_idto each tool callEnvironment Variables: Set
FALCON_API_KEYand optionallyFALCON_TENANT_ID
Connection Methods
1. STDIO (MCP Protocol)
For MCP-aware clients like Claude Desktop, Cursor, or MCP Toolkit.
Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Cursor
Similar configuration in Cursor's MCP settings.
MCP Toolkit
The mcp-toolkit.yml file enables automatic discovery. Place it in your MCP Toolkit configuration directory.
2. HTTP/REST API
For REST clients, curl, Python requests, Node.js fetch, etc.
Health Check
List Available Tools
Call a Tool
Python Example
Node.js Example
Available Tools
Host/Device Management
query_hosts: Query hosts/devices with filtersget_host_details: Get detailed information about specific hosts
Detection Management
query_detections: Query detections with filtersget_detection_details: Get detailed information about specific detectionsupdate_detection_status: Update detection status
IOC Management
query_iocs: Query Indicators of Compromisecreate_ioc: Create a new IOCdelete_ioc: Delete IOCs
Host Group Management
query_host_groups: Query host groupsget_host_group_details: Get detailed information about host groups
Policy Management
query_prevention_policies: Query prevention policiesget_prevention_policy_details: Get detailed information about prevention policiesquery_sensor_update_policies: Query sensor update policiesget_sensor_update_policy_details: Get detailed information about sensor update policies
Example Tool Calls
Query Hosts (STDIO/MCP)
When using MCP clients, tools are called directly:
Query Hosts (HTTP/REST)
Create IOC
Update Detection Status
HTTPS Deployment
Using nginx as Reverse Proxy
Using Traefik
Production Deployment Considerations
Security:
Use HTTPS in production
Implement rate limiting
Use API key rotation
Monitor access logs
Scaling:
Use a load balancer for HTTP mode
Consider horizontal scaling for high traffic
Use connection pooling for API calls
Monitoring:
Monitor
/healthzendpointSet up alerting for failed health checks
Log API errors and rate limits
High Availability:
Deploy multiple instances
Use health checks in orchestrators
Implement graceful shutdown
Development
Running Tests
Building Docker Image Locally
Publishing Docker Image
GitHub Actions
The repository includes a GitHub Actions workflow (.github/workflows/docker-publish.yml) that automatically:
Builds Docker images on push to main/master
Builds and pushes on version tags
Supports multi-platform builds (amd64, arm64)
Uses Docker layer caching for faster builds
Required Secrets:
DOCKER_USERNAME: Your Docker Hub usernameDOCKER_PASSWORD: Your Docker Hub password or access token
API Reference
CrowdStrike Falcon API
This MCP server wraps the CrowdStrike Falcon API. For detailed API documentation, refer to:
Filter Query Language (FQL)
Many endpoints support FQL (Falcon Query Language) for filtering. Examples:
hostname:'example.com'- Exact matchhostname:*example*- Wildcard matchstatus:'new'+severity:'high'- Multiple conditionsfirst_seen:>='2024-01-01T00:00:00Z'- Date comparison
Troubleshooting
Health Check Failing
Authentication Errors
Verify your API key is correct
Check if API key has required scopes
Ensure API key format is correct (may be
client_id:client_secretformat)
Connection Issues
Verify ports are exposed correctly
Check firewall rules
Ensure TRANSPORT_MODE matches your use case
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
[Add your license here]
Support
For issues and questions:
Open an issue on GitHub
Check the CrowdStrike API documentation
Review the MCP server logs
Changelog
v1.0.0
Initial release
Support for hosts, detections, IOCs, policies
Dual transport mode (STDIO + HTTP)
Docker support
GitHub Actions CI/CD