blackarch-AI MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@blackarch-AI MCP Server scan the target 10.0.0.1 with nmap"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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, expiresscope.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 syncRun the MCP server standalone
uv run python -m blackarch_ai_mcp.serverRegister with Claude Code
claude mcp add blackarch-ai -- uv --directory /path/to/blackarch-ai run python -m blackarch_ai_mcp.serverThen 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 pytestLicense
MIT — see LICENSE.
Available Tools
12 toolsaudit_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
Scored across 12 tools
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.
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.
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.
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
Related MCP Connectors
MEOK MCP Hardening MCP — automated security red-team for any MCP server. Maps OWASP LLM Top 10
Offline methodology engine for authorized penetration testing, CTF, and security research.
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
Secure Linux sandboxes for AI agents, as MCP tools.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceExposes 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-
- AlicenseNot gradedqualityAmaintenanceEnables 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 npmGPL 3.0
- AlicenseNot gradedqualityAmaintenanceEnables 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 npmGPL 3.0
- AlicenseNot gradedqualityAmaintenanceEnables 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 npmGPL 3.0