MCP ExplorerExplorer

Securityinfrastructure

@jmstar85on 4 days ago
9Ā MIT
FreeCommunity
AI Systems
MCP use case for SecOps automation w/ Splunk,CrowdStrike EDR, MISP

Overview

What is Securityinfrastructure

The Security Infrastructure MCP Servers project is a collection of server implementations designed for integrating various security platforms using the Model Context Protocol (MCP). It facilitates communication and data exchange between systems like Splunk SIEM, CrowdStrike EDR, and Microsoft MISP, providing a unified interface for querying security events and threat intelligence.

Use cases

This project can be utilized for multi-platform security monitoring, incident response, and threat intelligence gathering. Security analysts can execute customized search queries, retrieve real-time threat data, and manage detections across integrated platforms, enhancing visibility and response capabilities in security operations.

How to use

To use the MCP servers, clone the repository, install the required Python dependencies, and configure the necessary API credentials in the YAML configuration files. Start the individual server implementations or use Docker for easy deployment. Users can then perform various queries and analyses on the connected security platforms through the provided tools and APIs.

Key features

Key features include asynchronous operations for improved performance, support for flexible query languages across different platforms, structured JSON output, and comprehensive security with multiple authentication methods. The project also provides error recovery mechanisms, real-time search capabilities, and extensive logging and monitoring functions.

Where to use

This MCP server framework is ideal for use in security operations centers (SOCs), threat intelligence teams, and any organization looking to integrate multiple security tools for a cohesive defense strategy. The project is suitable for environments using Splunk, CrowdStrike, and MISP, allowing for enhanced security posture and efficient data handling.

Content

Security Infrastructure MCP Servers

A comprehensive collection of MCP (Model Context Protocol) server implementations for security platform integrations.

šŸ” Supported Platforms

Splunk SIEM

  • SPL Query Execution: Execute Search Processing Language queries with custom time ranges
  • Event Search: Search security events across all indexes with flexible filtering
  • Time-based Analysis: Support for relative time ranges (-24h, -1d) and custom time windows
  • Asynchronous Job Management: Create and monitor search jobs with automatic result retrieval
  • JSON Result Format: Structured output for seamless integration with other tools

CrowdStrike EDR

  • Detection Search: Query detections using FQL (Falcon Query Language) with advanced filtering
  • Detection Details: Retrieve comprehensive detection summaries and metadata
  • OAuth 2.0 Authentication: Secure API access using client credentials flow
  • Sorting and Pagination: Flexible result ordering and limit controls
  • Real-time Threat Data: Access to latest endpoint detection and response information

Microsoft MISP

  • Event Search: Query MISP events with customizable filters and event type targeting
  • IOC Attribute Search: Search indicators of compromise by value, type, or category
  • Multi-format Support: Handle various IOC types (IP addresses, domains, hashes, URLs)
  • Published Status Filtering: Filter events by publication status
  • RESTful API Integration: Native MISP REST API support with JSON responses

šŸ“– Live Documentation

Complete documentation and code examples: https://jmstar85.github.io/SecurityInfrastructure

Features available in the live documentation:

  • šŸ“‹ Complete server implementation code
  • šŸ” Real-time search and filtering
  • šŸ“± Responsive mobile support
  • šŸ“‘ One-click code copying
  • šŸ—‚ļø Organized by categories

šŸš€ Quick Start

For MCP Client Integration (Claude Desktop)

# 1. Clone the repository
git clone https://github.com/jmstar85/SecurityInfrastructure.git
cd SecurityInfrastructure

# 2. Install dependencies
pip install -r project-requirements.txt

# 3. Configure credentials
cp .env.example .env
# Edit .env with your platform credentials

# 4. Add to Claude Desktop configuration
# Copy config/mcp-settings.json content to your Claude Desktop config
# Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
# Update the "cwd" paths and environment variables with your values

For Standalone Server Usage

# Start individual MCP servers
python src/splunk_server.py        # Runs on localhost:8080
python src/crowdstrike_server.py   # Runs on localhost:8081
python src/misp_server.py          # Runs on localhost:8082

# Or use Docker for all services
docker-compose up -d

# Run tests to verify connectivity
pytest tests/test_mcp_servers.py -v

šŸ”§ MCP Server Tools

Splunk SIEM Tools

  • search-events: Execute SPL queries with time range filtering
    # Example: Search for failed login attempts in last 24 hours
    query = "index=security sourcetype=auth action=failure"
    earliest_time = "-24h"
    

CrowdStrike EDR Tools

  • search-detections: Query detections using FQL filtering
    # Example: Search for high severity detections
    filter_query = "max_severity:'high'"
    sort = "created_timestamp.desc"
    

MISP Tools

  • search-events: Query threat intelligence events
  • search-attributes: Search IOCs by type, value, or category
    # Example: Search for IP-based IOCs
    type = "ip-dst"
    category = "Network activity"
    

šŸ“ Project Structure

SecurityInfrastructure/
ā”œā”€ā”€ docs/                    # GitHub Pages documentation
│   ā”œā”€ā”€ index.html          # Main documentation page
│   └── assets/             # CSS, JS resources
ā”œā”€ā”€ src/                    # MCP server source code
│   ā”œā”€ā”€ splunk_server.py    # Splunk SIEM integration
│   ā”œā”€ā”€ crowdstrike_server.py # CrowdStrike EDR integration
│   └── misp_server.py      # Microsoft MISP integration
ā”œā”€ā”€ config/                 # Configuration files
│   └── mcp-settings.json   # MCP client configuration template
ā”œā”€ā”€ tests/                  # Unit tests
ā”œā”€ā”€ mcp-config.json         # Basic MCP configuration
ā”œā”€ā”€ .env.example            # Environment variables template
ā”œā”€ā”€ INSTALLATION.md         # Detailed setup guide
ā”œā”€ā”€ docker-compose.yml      # Container configuration
└── project-requirements.txt # Python dependencies

šŸ”§ MCP Client Configuration

Claude Desktop Setup

Configuration File Location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Basic Configuration:

{
  "mcpServers": {
    "security-infrastructure-splunk": {
      "command": "python",
      "args": [
        "/path/to/SecurityInfrastructure/src/splunk_server.py"
      ],
      "env": {
        "SPLUNK_HOST": "your-splunk-host.com",
        "SPLUNK_TOKEN": "your-api-token"
      }
    }
  }
}

Complete setup instructions: See INSTALLATION.md for detailed configuration guide.
Quick setup: See setup-guide.md for copy-paste configuration templates.

šŸ’» Usage Examples

Once configured with Claude Desktop, you can use natural language to interact with your security platforms:

Splunk SIEM Queries

"Search for failed SSH login attempts in the last 6 hours"
"Find all authentication events from IP 192.168.1.100"  
"Show me high priority security alerts from yesterday"
"Search for events in the security index containing 'malware'"

CrowdStrike EDR Queries

"Show me all high severity detections from today"
"Find endpoint detections with 'ransomware' behavior"
"List recent detections sorted by creation time"
"Search for detections on hostname 'web-server-01'"

MISP Threat Intelligence

"Search for events related to APT29"
"Find all IP address indicators of compromise"
"Look up domain indicators from the last week"
"Search for published threat intelligence events about phishing"

Cross-Platform Analysis

"Search Splunk for events related to this CrowdStrike detection ID"
"Check MISP for threat intelligence on this suspicious IP from Splunk"
"Correlate this endpoint detection with known threat indicators"

šŸ”§ Configuration Examples

Splunk Connection

splunk:
  host: "your-splunk-server.com"
  port: 8089
  username: "admin"
  token: "your-api-token"
  verify_ssl: true

CrowdStrike Authentication

crowdstrike:
  client_id: "your-client-id"
  client_secret: "your-client-secret"
  base_url: "https://api.crowdstrike.com"

MISP Setup

misp:
  url: "https://your-misp-instance.com"
  key: "your-api-key"
  verifycert: true

šŸ› ļø Key Features

Core Functionality

  • MCP Protocol Integration: Native Model Context Protocol server implementation
  • Asynchronous Operations: Non-blocking API calls for optimal performance
  • Multi-platform Support: Unified interface for Splunk, CrowdStrike, and MISP
  • Flexible Query Language: Support for SPL, FQL, and MISP REST queries

Security & Authentication

  • Multiple Auth Methods: Session-based, token-based, and OAuth 2.0 authentication
  • SSL/TLS Support: Configurable certificate verification for secure connections
  • API Key Management: Secure credential handling and rotation support
  • Error Recovery: Automatic token refresh and connection retry mechanisms

Data Processing

  • Real-time Search: Live querying across security platforms
  • Structured Output: Consistent JSON response format across all integrations
  • Time Range Flexibility: Custom time windows and relative time specifications
  • Result Pagination: Configurable limits and sorting for large datasets

Development & Testing

  • Comprehensive Testing: Unit tests with pytest framework
  • Docker Support: Containerized deployment with docker-compose
  • Configuration Management: YAML-based configuration with environment variable support
  • Logging & Monitoring: Structured logging with configurable levels

šŸ“‹ Requirements

  • Python 3.11+
  • Access credentials for security platforms (API keys, tokens)
  • MCP-compatible client (Claude Desktop, or other MCP clients)
  • Docker & Docker Compose (optional, for containerized deployment)

šŸ” Required Credentials

Splunk SIEM

  • API Token (recommended) or Username/Password
  • Host/Port information for your Splunk instance
  • Search permissions on target indexes

CrowdStrike EDR

  • Client ID and Client Secret from Falcon Console
  • API permissions: Detections (READ), Hosts (READ), Incidents (READ)
  • Appropriate Base URL for your region

Microsoft MISP

  • API Key generated from MISP user profile
  • MISP instance URL
  • Read access to events and attributes

šŸ¤ Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature/new-feature)
  5. Create a Pull Request

šŸ“„ License

This project is provided for security research and educational purposes.

šŸ”— Related Links


⭐ If you find this useful, please give it a star!

Tools

No tools

Comments