A Model Context Protocol (MCP) server that wraps the aircrack-ng suite for wireless security testing. Communicates via JSON-RPC 2.0 over stdio.
This MCP server wraps the aircrack-ng penetration testing suite. While tool definitions are explicitly visible and include schemas and descriptions, the quality is significantly hampered by security concerns, minimal error handling, missing output schemas, lack of parameter validation guidance, and dangerous default behaviors. The server exposes high-risk operations (deauth, fake_auth, ARP replay, evil twin creation) as first-class tools without confirmation patterns or detailed permission/scope declarations. Descriptions are present but often lack actionable constraint guidance, parameter relationships are undocumented, and output structures are not formally specified. The tool set combines multiple responsibilities (e.g., 'auto_crack_wep' chains fake_auth + ARP replay + cracking in one tool) rather than composing atomic operations. For a security-sensitive domain like wireless penetration testing, this represents significant risk and poor agent-safety design.
ARP request replay attack using aireplay-ng. Captures and reinjects ARP packets to generate WEP IVs rapidly.
Automatically crack WEP networks via a full attack chain: fake auth, ARP replay, IV capture, and cracking.
Capture WPA/WPA2 handshake for a specific BSSID using airodump-ng. Writes capture to the specified output file.
Clean a capture file using airdecap-ng to remove weak IVs. Results in faster cracking.
Attempt to crack a WPA/WEP key from a capture file using aircrack-ng with a wordlist.
Create a fake access point using hostapd. Used for rogue AP / evil twin attacks.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., monitor interface name from start_monitor, list of networks from scan_wifi). This violates the response-shaper pattern and forces agents to guess at response structure.
Destructive tools (deauth, fake_auth, arp_replay, create_evil_twin, auto_crack_wep) lack confirmation or dry-run patterns. An LLM can invoke 'deauth' or 'create_evil_twin' without explicit user approval, causing network disruption or legal/ethical violations. No permission gates or scope declarations present.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Send deauthentication packets to a target using aireplay-ng. Used to force clients to reconnect so a handshake can be captured.
Decrypt a WEP or WPA capture file using airdecap-ng. Requires the network key (WEP hex or WPA passphrase).
Perform fake authentication attack against a WEP AP using aireplay-ng. Required before ARP replay or other WEP injection attacks.
List all available wireless interfaces using airmon-ng.
Scan nearby WiFi networks using airodump-ng. Runs for a limited time (default 30s) then returns results.
Enable monitor mode on a wireless interface using airmon-ng. Returns the name of the monitor interface created.
Disable monitor mode on an interface using airmon-ng.
auto_crack_wep combines fake_auth + ARP replay + cracking into a single tool. This violates the single-responsibility pattern. Agents cannot compose these steps independently or handle partial failures gracefully. Should be split into atomic tools: start_fake_auth, monitor_arp_replay_progress, attempt_crack.
Parameter descriptions lack actionable constraint guidance. 'channel' in capture_handshake says '1-14' but doesn't explain 802.11 region rules. 'timeout' in multiple tools says 'default 60, max 300' but doesn't explain why or what happens if the network is busy. 'wordlist' in crack_wifi has no guidance on format or recommended sources. See pattern:constrained-input.
Parameter 'client' in deauth is optional but relationship to 'bssid' is undocumented. If 'client' is omitted, does it deauth ALL clients? One specific client? The description does not clarify this dependency, which is critical for agent planning.
No error handling guidance anywhere. Tools will fail due to missing tools (aircrack-ng not installed), permissions (non-root), file not found (invalid wordlist), or network issues (target out of range). No recovery hints, no categorization of retryable vs fatal errors. See pattern:recovery-guide.
No permission or scope declarations. Each tool should declare required permissions (e.g., 'requires: root, wireless_driver_access, file_write'). This enables least-privilege agent configuration and compliance auditing, but is completely absent.
Parameter 'key' in decrypt_capture is described as 'WEP key (hex) or WPA passphrase' but no format constraint or validation hint. LLMs may pass incorrectly-formatted keys. Should specify: 'WEP key as hex string (40-bit: 10 hex chars, 104-bit: 26 hex chars) or WPA passphrase (8-63 chars, any printable ASCII)'.
BSSID and source_mac parameters accept string format but no regex pattern or validation hint in description. LLMs may pass 'AA-BB-CC-DD-EE-FF' or 'aabbccddeeff' instead of 'AA:BB:CC:DD:EE:FF'. Description should state: 'MAC address in colon-separated hex format: AA:BB:CC:DD:EE:FF'.
Tool 'create_evil_twin' sets up a rogue AP, a legally and ethically sensitive operation. No warning in description, no permission gate, no confirmation requirement. LLMs may invoke this unintentionally. Description should state: 'LEGAL WARNING: Unauthorized access point creation is illegal in most jurisdictions. Only use on networks you own or have explicit written permission to test.'
No tool chains documented. After 'scan_wifi', agents need to know which fields to pass to 'capture_handshake'. After 'capture_handshake', what field names does 'crack_wifi' expect from the capture? The code likely returns structured output, but without documented schemas, agents cannot compose reliably.