TheHive
STDIO连接AI助手与TheHive事件响应平台的MCP服务器
连接AI助手与TheHive事件响应平台的MCP服务器
An MCP (Model Context Protocol) server that provides AI models and automation tools with access to TheHive incident response platform.
This server acts as a bridge between MCP clients (like AI assistants) and TheHive, allowing them to:
get_thehive_alerts - Retrieve a list of alerts from TheHive
limit parameter (default: 100)get_thehive_alert_by_id - Get detailed information about a specific alert
alert_id parameterget_thehive_cases - Retrieve a list of cases from TheHive
limit parameter (default: 100)get_thehive_case_by_id - Get detailed information about a specific case
case_id parameterpromote_alert_to_case - Promote an alert to a case
alert_id parametercreate_thehive_case - Create a new case in TheHive
title and description parametersseverity, tags, tlp, pap, status, assignee, case_template, start_dateYou can download pre-compiled binaries for various operating systems from the GitHub Releases page. Download the appropriate binary for your system, make it executable, and place it in your desired location.
git clone <repository-url> cd mcp-server-thehive cargo build --release
The server requires the following environment variables:
THEHIVE_URL - TheHive API base URL (default: http://localhost:9000/api)THEHIVE_API_TOKEN - TheHive API token (required)VERIFY_SSL - Whether to verify SSL certificates (default: false)RUST_LOG - Logging level (optional, e.g., debug, info)Create a .env file in the project root:
THEHIVE_URL=https://your-thehive-instance.com/api THEHIVE_API_TOKEN=your-api-token-here VERIFY_SSL=true RUST_LOG=info
THEHIVE_API_TOKEN# Using cargo cargo run # Using the built binary ./target/release/mcp-server-thehive
The server communicates over stdio using the MCP protocol. Configure your MCP client to use this server:
{ "mcpServers": { "thehive": { "command": "/path/to/mcp-server-thehive", "env": { "THEHIVE_URL": "https://your-thehive-instance.com:9000/api", "THEHIVE_API_TOKEN": "your-api-token-here" } } } }
{ "method": "tools/call", "params": { "name": "get_thehive_alerts", "arguments": { "limit": 10 } } }
{ "method": "tools/call", "params": { "name": "get_thehive_alert_by_id", "arguments": { "alert_id": "~123456" } } }
{ "method": "tools/call", "params": { "name": "promote_alert_to_case", "arguments": { "alert_id": "~123456" } } }
{ "method": "tools/call", "params": { "name": "create_thehive_case", "arguments": { "title": "Potential Malware Outbreak", "description": "Multiple endpoints reporting suspicious process activity.", "severity": 3, "tags": ["malware", "endpoint", "epp"], "tlp": 2, "assignee": "soc_level2" } } }
mcp-server-thehive/
├── src/
│   ├── main.rs              # Main server implementation
│   ├── lib.rs               # Library exports
│   └── thehive/
│       ├── mod.rs           # Module declarations
│       ├── client.rs        # TheHive API client
│       └── error.rs         # Error types
├── tests/
│   ├── bin/
│   │   └── mock_thehive_server.rs # Mock TheHive API server for testing
│   ├── integration_test.rs    # Integration tests
│   └── mcp_stdio_test.rs      # Stdio interface tests
├── Cargo.toml               # Dependencies and metadata
└── README.md                # This file
The project includes a comprehensive suite of integration tests that leverage a mock TheHive server. This mock server simulates the TheHive API, allowing for isolated and repeatable testing of the MCP server's functionality without requiring a live TheHive instance.
Running Tests:
# Run all tests (including integration tests that use the mock server) cargo test # Run tests with verbose logging (includes MCP server and mock server logs) RUST_LOG=debug MCP_SERVER_THEHIVE_VERBOSE_TEST_LOGS=true cargo test
Connection Refused
THEHIVE_URL is correctAuthentication Failed
THEHIVE_API_TOKEN is correct and not expiredSSL Certificate Errors
VERIFY_SSL=false for testing (not recommended for production)Enable debug logging for troubleshooting:
RUST_LOG=debug cargo run
This project is licensed under the MIT License - see the LICENSE file for details.