Ibmqradarmcp2.0 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ibmqradarmcp2.0 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that provides comprehensive access to IBM QRadar security intelligence platform. Query logs, events, offenses, agents (log sources), assets, and more directly from your AI assistant.
Total: 41 comprehensive tools for complete security operations
See [ADVANCED_FEATURES.md](ADVANCED_FEATURES.md) for detailed documentation on all advanced capabilities
💡 New: You can now use local open-source LLMs instead of Claude! See LOCAL_LLM_GUIDE.md for setup.
git clone <repository-url>
cd IBMQradarMCPpip install -r requirements.txtcp .env.example .envEdit .env file with your QRadar credentials:
QRADAR_HOST=your-qradar-host.com
QRADAR_API_TOKEN=your-api-token-here
QRADAR_VERIFY_SSL=true.env filepython -m src.serverThe server will start and communicate via stdio (standard input/output) as per the MCP protocol.
#### Option 1: Claude Desktop
Add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"qradar": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/path/to/IBMQradarMCP",
"env": {
"QRADAR_HOST": "your-qradar-host.com",
"QRADAR_API_TOKEN": "your-api-token",
"QRADAR_VERIFY_SSL": "true"
}
}
}
}#### Option 2: Local LLMs (Ollama, LM Studio, etc.) 🆕
Quick Start with Ollama:
# 1. Install Ollama
brew install ollama # or visit ollama.com
# 2. Download a model
ollama pull llama3.1:8b
# 3. Run setup script
./setup_local_llm.sh
# 4. Start the local client (choose one):
# Option A: Web UI (recommended - beautiful interface) 🌟
./start_webui.sh
# Then open http://localhost:5000
# Option B: Terminal client (simple, lightweight)
python3 local_llm_client.pyLocal LLM Interfaces Available:
Supported Local LLMs:
📖 Guides: - WEB_UI_GUIDE.md - Beautiful web interface setup 🌟 - LOCAL_LLM_GUIDE.md - Complete local LLM guide
#### qradar_search_events Search events using AQL (Ariel Query Language).
Parameters:
query (required): AQL query stringtimeout (optional): Query timeout in seconds (default: 60)max_wait (optional): Maximum wait time for results (default: 300)Example:
Search for failed login attempts in the last 24 hours:
SELECT sourceip, username, eventcount FROM events WHERE category=1003 LAST 24 HOURS#### qradar_get_recent_events Get the most recent security events.
Parameters:
limit (optional): Number of events to return (default: 50)fields (optional): Array of field names to return#### qradar_search_flows Search network flows using AQL.
Parameters:
query (required): AQL query string for flowstimeout (optional): Query timeout in secondsmax_wait (optional): Maximum wait time for results#### qradar_get_offenses Get offenses (security incidents) from QRadar.
Parameters:
filter (optional): Filter string (e.g., "status=OPEN")fields (optional): Comma-separated list of fieldsrange (optional): Result range (e.g., "0-49")#### qradar_get_offense_by_id Get detailed information about a specific offense.
Parameters:
offense_id (required): The offense ID#### qradar_get_log_sources List all log sources (agents/collectors).
Parameters:
filter (optional): Filter string (e.g., "enabled=true")fields (optional): Comma-separated list of fields#### qradar_get_log_source_by_id Get details of a specific log source.
Parameters:
log_source_id (required): The log source ID#### qradar_get_log_source_types Get available log source types.
#### qradar_get_assets List network assets discovered by QRadar.
Parameters:
filter (optional): Filter stringfields (optional): Comma-separated list of fields#### qradar_search_assets_by_ip Search for assets by IP address.
Parameters:
ip_address (required): IP address to search#### qradar_get_reference_sets List all reference data sets.
#### qradar_get_reference_set_data Get data from a specific reference set.
Parameters:
ref_set_name (required): Name of the reference set#### qradar_get_system_info Get QRadar system information.
#### qradar_get_servers Get QRadar server/host information.
#### qradar_get_rules List analytics rules.
Parameters:
filter (optional): Filter stringfields (optional): Comma-separated list of fields#### qradar_get_rule_by_id Get details of a specific rule.
Parameters:
rule_id (required): The rule IDHere are some example queries you can ask your AI assistant once the MCP server is configured:
Failed login attempts:
SELECT sourceip, username, eventcount
FROM events
WHERE category=1003
LAST 24 HOURSHigh severity events:
SELECT sourceip, destinationip, qid
FROM events
WHERE severity >= 7
LAST 1 HOURSEvents from specific IP:
SELECT *
FROM events
WHERE sourceip='192.168.1.100'
LAST 7 DAYSTop talkers by bytes:
SELECT sourceip, destinationip, SUM(sourcebytes) as total_bytes
FROM flows
GROUP BY sourceip, destinationip
ORDER BY total_bytes DESC
LAST 1 HOURSConnections to specific port:
SELECT sourceip, destinationip, destinationport
FROM flows
WHERE destinationport=443
LAST 24 HOURSQRADAR_VERIFY_SSL=true in productionError: QRadar API request failedQRADAR_HOST is correct (without https://)Error: 401 UnauthorizedQRADAR_API_TOKEN is correctError: SSL verification failedQRADAR_VERIFY_SSL=falseError: Search timed outmax_wait parameterIBMQradarMCP/
├── src/
│ ├── __init__.py
│ ├── qradar_client.py # QRadar API client
│ └── server.py # MCP server implementation
├── pyproject.toml # Project metadata
├── requirements.txt # Dependencies
├── .env.example # Environment template
└── README.md # DocumentationRun the server in debug mode:
python -m src.serverTest with sample MCP client or integrate with Claude Desktop.
This MCP server uses IBM QRadar REST API v15.0. For more information:
Ram Krishna Katakwar
See LICENSE file for details.
Contributions are welcome! Please feel free to submit pull requests or open issues.
For issues and questions:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.