PowerView.py is a Python reimplementation of the classic PowerShell Active Directory reconnaissance and attack tool, PowerView.ps1. It functions as a comprehensive AD security assessment suite, providing an interactive shell, a Flask-based web UI, and a Model Context Protocol (MCP) server for AI agent integration. The codebase is structured as a monolith around a central PowerView class that dispatches commands to specialized modules covering enumeration, privilege escalation, and attack execution. The tool supports multiple AD protocols (LDAP, LDAPS, ADWS, SMB, RPC, Kerberos) for both enumeration and exploitation. It includes modules for Kerberoasting, AS-REP Roasting, Shadow Credentials, ACL abuse, GPO manipulation, ADCS abuse, and trust mapping. A standout feature is its custom implementation of the ADWS (Active Directory Web Services) protocol, including a full MC-NBFX binary XML encoder/decoder and NNS framing, enabling direct SOAP-based interaction with AD. It also features a plugin system, a vulnerability detection engine, and a connection pooling layer. While functionally rich and actively maintained, the codebase exhibits significant structural debt. The command dispatch is a monolithic if/elif chain, and there is considerable code duplication across the CLI, Web, and MCP interfaces. Despite this, several components are genuinely reusable, including the ADWS protocol stack, the plugin framework, the AccessControl (SD/ACE) parser, and the connection pooling utilities. The reliance on forked versions of ldap3 and impacket introduces a maintenance risk. Although classified as an application, the repository has a strong data/research character. It contains extensive, researcher-curated reference data (SIDs, OIDs, extended rights, schema objects) and implements protocol-level research (ADWS binary XML, Kerberos structures, trust key parsing). This makes it a valuable resource for understanding AD internals, even if the primary deliverable is a security tool.