Skip to main content

Cybersecurity monitoring and analysis for Linux servers via MCP

Project description

🐕 MCP Cybersec Watchdog

Complete Linux security audit in 30 seconds via Claude MCP. Zero configuration required.

License: MIT Python 3.10+ Tests codecov PyPI Code style: black

Features

One-Time Audit (23 analyzers, 89 CIS controls)

  • Firewall, SSH, fail2ban, Docker, SSL certificates
  • CVE scanning, container image scanning (trivy)
  • Compliance: CIS Benchmark, NIST 800-53, PCI-DSS v4.0
  • Kernel hardening, MAC (AppArmor/SELinux), rootkit detection
  • Multi-level scoring (personal/business/corporate/military)

Live Monitoring (Beta)

  • Background daemon with anomaly detection
  • Alerts on firewall changes, new ports, attack spikes, compliance drift
  • AI analysis only when needed (token-efficient)

Quick Start

# Install
pip install mcp-cybersec-watchdog

# Setup passwordless sudo (required)
bash <(curl -s https://raw.githubusercontent.com/girste/mcp-cybersec-watchdog/main/setup-sudo.sh)

# Run audit
mcp-watchdog test

# Start monitoring (checks every hour)
mcp-watchdog monitor

Claude Desktop Integration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "cybersec-watchdog": {
      "command": "/path/to/venv/bin/mcp-watchdog"
    }
  }
}

Example prompts:

Run a security audit on this server
Start monitoring with 30 minute intervals
Show monitoring status

MCP Tools

Tool Description
security_audit Comprehensive one-time audit
start_monitoring Start background monitoring
stop_monitoring Stop daemon
monitoring_status Check status and recent bulletins
analyze_anomaly AI analysis of detected anomalies

Output Example

{
  "analysis": {
    "overall_status": "GOOD",
    "profile_scores": {
      "personal": 93.3,
      "business": 88.8,
      "corporate": 83.8,
      "military": 82.2
    }
  },
  "firewall": {"type": "ufw", "active": true, "open_ports": [80, 443, 22]},
  "cis_benchmark": {"compliance_percentage": 78.3},
  "nist_800_53": {"compliance_percentage": 80.0},
  "pci_dss": {"compliance_percentage": 100.0},
  "threats": {"total_attempts": 342, "unique_ips": 89},
  "recommendations": [...]
}

Privacy: IPs/hostnames masked by default. Disable with {"mask_data": false}.

Configuration (Optional)

Create .mcp-security.json to customize checks:

{
  "checks": {
    "firewall": true,
    "ssh": true,
    "cis": true,
    "docker": false
  },
  "threat_analysis_days": 14
}

Development

git clone https://github.com/girste/mcp-cybersec-watchdog
cd mcp-cybersec-watchdog
pip install -e ".[dev]"
pytest tests/ -v

Contributing

See CONTRIBUTING.md for guidelines.

Security

Report vulnerabilities via SECURITY.md.

License

MIT - see LICENSE


Created by GirsteIssues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_cybersec_watchdog-0.1.0.tar.gz (84.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_cybersec_watchdog-0.1.0-py3-none-any.whl (89.9 kB view details)

Uploaded Python 3

File details

Details for the file mcp_cybersec_watchdog-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_cybersec_watchdog-0.1.0.tar.gz
  • Upload date:
  • Size: 84.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mcp_cybersec_watchdog-0.1.0.tar.gz
Algorithm Hash digest
SHA256 90d2597902d40e26bcef4fb7faba18465a618733e8875ed7d0707e615eb66837
MD5 9f9a98d766c038d9cea00b3cd1df199d
BLAKE2b-256 4eb28d9de49b384c9d64ef2e36f6c5dea08bbd5ff74be050d54fd11a9d7adc73

See more details on using hashes here.

File details

Details for the file mcp_cybersec_watchdog-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_cybersec_watchdog-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37e5d12a9603473c09c883162c88787728cc739d46eb464706b635e960c9c049
MD5 541de5e43211be8d54cf99132bf24cea
BLAKE2b-256 5a5e02b3477dd27a7978a4e8a40717e76d051a8984acdd0093d3d35192193d8e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page