Skip to main content
Glama

blackarch-AI

A scope-gated MCP server and set of Claude Code Skills for red-team and blue-team security workflows on BlackArch Linux.

What this is

  • MCP server (src/blackarch_ai_mcp/) — wraps local security tools (nmap, gobuster, nikto, hydra, plus local blue-team audits) as MCP tools, so any MCP-compatible client can call them.

  • Claude Code Skills (.claude/skills/) — markdown playbooks that walk through red-team and blue-team workflows using those tools.

Related MCP server: Pentest MCP

Safety model: scope-gating

No red-team tool will run against a target that isn't explicitly authorized. Every tool that touches a network target (nmap_scan, gobuster_dir, nikto_scan, hydra_bruteforce) checks scope.yaml first and refuses with a clear message if the target isn't listed with valid, non-expired authorization.

cp scope.example.yaml scope.yaml
# edit scope.yaml: add host/cidr, authorized_by, authorization_ref, expires

scope.yaml is gitignored — it's local, never published. See docs/SCOPE.md for the full contract.

Blue-team tools (audit_listening_ports, audit_suid_world_writable, review_auth_log, lint_ssh_config, audit_pacman_packages, crack_hash_offline) are local-only and not gated — they never touch a third party.

This project does not grant authorization to test anything. You are responsible for having explicit, written permission before pointing any red-team tool at a target. Unauthorized scanning/exploitation of systems you don't own or have written permission to test is illegal in most jurisdictions.

Install

sudo pacman -S --needed python-uv
uv sync

Run the MCP server standalone

uv run python -m blackarch_ai_mcp.server

Register with Claude Code

claude mcp add blackarch-ai -- uv --directory /path/to/blackarch-ai run python -m blackarch_ai_mcp.server

Then in a Claude Code session, invoke a Skill (e.g. "run a host audit", or /blue-team-host-audit if slash-invocation is enabled) or call an mcp__blackarch-ai__* tool directly.

Layout

See docs/ARCHITECTURE.md for how the pieces fit together and docs/TOOLS.md for the full tool reference.

Tests

uv run pytest

License

MIT — see LICENSE.

Available Tools

12 tools
audit_listening_portsA

List listening ports (ss -tulnp) cross-referenced with firewall rules on this local host.

Inputs: no named parameters. Returns: result

audit_pacman_packagesA

Report orphan packages, available updates, and package integrity via pacman (read-only) on this local host.

Inputs: no named parameters. Returns: result

audit_suid_world_writableA

Find SUID and world-writable files under paths (default /usr /etc /opt /home) on this local host.

Inputs: paths. Returns: result

check_scopeA

Check whether target is authorized in scope.yaml before running any red-team tool.

Inputs: target (required). Returns: result

crack_hash_offlineB

Run an offline password-strength audit with hashcat/john against a hash file placed in data/hashes/.

Inputs: wordlist (required), hash_file (required), hash_mode (required), tool. Returns: result

gobuster_dirC

Directory-brute-force url with gobuster. Refuses if the host is not in scope.yaml.

Inputs: url (required), wordlist, extensions. Returns: result

hydra_bruteforceA

Credential brute-force target/service with hydra using local userlist/passlist files. Requires confirm=True as an explicit double opt-in, and target must be in scope.yaml.

Inputs: target (required), service (required), passlist (required), userlist (required), +1 more. Returns: result

lint_ssh_configA

Check sshd_config at path against a baseline hardening ruleset on this local host.

Inputs: path. Returns: result

list_installed_toolsA

Inventory installed BlackArch security-tool packages, grouped by category (recon, exploitation, cracking, etc.).

Inputs: no named parameters. Returns: result

nikto_scanB

Run a nikto web vulnerability scan against target:port. Refuses if target not in scope.yaml.

Inputs: target (required), port. Returns: result

nmap_scanC

Run an nmap scan against target (profile: quick|full_tcp|service|udp). Refuses if target not in scope.yaml.

Inputs: target (required), profile. Returns: result

review_auth_logC

Summarize sshd auth log entries on this local host since since.

Inputs: since. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 12 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes: scanning (nmap, nikto, gobuster), credential attacks (hydra), local auditing (audit_*, lint_*, review_*), and offline cracking (crack_hash_offline). However, check_scope is a utility tool that could be considered overlapping with the scope checks built into other tools, but it serves as a proactive check rather than a reactive refusal.

    Naming Consistency3/5

    The naming pattern mixes styles: verbs like 'check_', 'nmap_scan', 'gobuster_dir', and 'hydra_bruteforce' use a tool_name format, while others like 'audit_listening_ports' and 'review_auth_log' use verb_noun. The category for local auditing tools is consistent, but the overall set lacks a single unified pattern.

    Tool Count4/5

    12 tools is a reasonable count for a security auditing server covering reconnaissance, brute-forcing, local system auditing, and offline cracking. It's slightly high but each tool has a specific role, and no tool feels redundant. The scope is well-defined for a BlackArch-oriented toolset.

    Completeness3/5

    The toolset covers external scanning, web vulnerability scanning, brute-forcing, local host auditing, and password cracking. However, there are gaps: no network sniffing, exploitation, or privilege escalation tools, and no reporting or logging of results. For a comprehensive security assessment suite, these missing capabilities could hinder an agent's workflow.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      B
      maintenance
      Exposes 21 tools over stdio that let any MCP-capable AI agent run real Kali-container security tools (nmap, nuclei, sqlmap, Metasploit), search a local 59,000+ CVE vulnerability database, and browse a 5,266-entry GitHub security tool index. Built-in guardrails refuse government, education, and military domains, and only whitelisted in-container executables can be invoked.
      3
      -
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables professional penetration testers to run reconnaissance, exploitation, brute-force, and credential-cracking tooling (nmap, gobuster, nikto, John the Ripper, hashcat, subfinder, httpx, ffuf, nuclei, hydra, sqlmap, tcpdump) through MCP clients over stdio or HTTP. It also captures engagement records and generates client reports with scope-of-work handling and bearer/OIDC authentication.
      164 npm
      GPL 3.0
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables professional penetration testers to run reconnaissance, scanning, brute-force, exploitation, traffic capture, and reporting workflows through a unified MCP interface with STDIO, Streamable HTTP, and deprecated SSE transports plus bearer/OIDC authentication. Supports tools including nmap, gobuster, nikto, JtR, hashcat, subfinder, httpx, ffuf, nuclei, hydra, sqlmap, and wordlist generation.
      164 npm
      GPL 3.0
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables professional penetration testers to drive recon and exploitation tooling — nmap, gobuster, nikto, John the Ripper, hashcat, subfinder, httpx, ffuf, nuclei, hydra, sqlmap, and tcpdump — plus wordlist building and traffic capture from an MCP client. It also stores structured engagement records and generates client reports with scope-of-work handling, over stdio or authenticated Streamable HTTP (SSE deprecated).
      164 npm
      GPL 3.0