A Model Context Protocol server that enables AI agents to interact with Netwrix Access Analyzer through standardized interfaces, allowing visibility into data access risks, data classification, and user access patterns to help organizations better secure their most sensitive data.
A FastMCP-based server for Netwrix Access Analyzer data analysis, designed to integrate with Claude Desktop for enhanced data analysis capabilities.
This MCP server requires the following dependencies:
This MCP Server requires Netwrix Access Analyzer (NAA) File System scans to be completed.
First, ensure you have the ODBC Driver for SQL Server installed:
brew install microsoft/mssql-release/msodbcsql17
Install required Python packages using uv
For development or testing purposes only:
.env
file in your project directory with your SQL Server connection details:# Database Connection Information
DB_SERVER=your_server_name
DB_NAME=your_database_name
DB_USER=your_username
DB_PASSWORD=your_password
DB_USE_WINDOWS_AUTH=FALSE # Set to TRUE to use Windows Authentication
To make this MCP server available in Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
mcpServers
section."NetwrixAccessAnalyzer": { "command": "/path/to/your/uv", "args": [ "run", "--with", "pyodbc,fastmcp", "fastmcp", "run", "/path/to/mcp/main.py" ], "env": { "DB_SERVER": "your_server_address", "DB_NAME": "your_database_name", "DB_USER": "your_username", "DB_PASSWORD": "your_password", "DB_USE_WINDOWS_AUTH": "FALSE" } }
/path/to/your/uv
with the actual path to your uv
executable (find with which uv
or where uv
), and update the path to your main.py
file as well as the database connection information.The MCP server provides the following tools for interacting with database systems and analyzing access data:
Connect to a MS SQL Server database.
Parameters:
server
: SQL Server addressdatabase
: Database nameusername
: SQL Server username (optional if using Windows auth)password
: SQL Server password (optional if using Windows auth)trusted_connection
: Boolean flag for Windows AuthenticationExample prompt: "Connect to our SQL Server database at [DBSERVER] with the name [DBNAME] using the [USERNAME] user and [PASSWORD] password."
Check the current database connection status.
Example prompt: "Is the database currently connected? Show me the connection status."
Get a detailed explanation of a database table's schema.
Parameters:
table_name
: Name of the table to explainExample prompt: "Explain the schema of the Permissions table. What columns does it have?"
Retrieves the schema information for a specific table.
Parameters:
table_name
: Name of the table to get schema for.Example prompt: "Show me the schema for the Users table."
Retrieves a sample of 10 rows from the specified table.
Parameters:
tablename
: Name of the table to sampleExample prompt: "Give me a sample of 10 rows from the Permissions table."
Identify locations containing sensitive data.
Example prompt: "Find all shares that contain sensitive data in our environment."
Identify where a specific user or group has access.
Parameters:
trustee
: Domain\Username formatlevelsdown
: How many directory levels to traverse (default: 0)Example prompt: "Where does DOMAIN\JohnDoe have access in our file systems?"
Determine the source of a user's permissions for a specific resource.
Parameters:
trustee
: Domain\Username formatresourcepath
: Path to the resourceExample prompt: "Why does DOMAIN\JaneDoe have access to \server\share\folder? What's the source of this permission?"
Show who has access to a specific resource.
Parameters:
resource
: Path to the resourceExample prompt: "Who has access to \server\finance? Show me all users and groups."
Find users with unused access to a specific resource.
Parameters:
resource
: Path to the resourceExample prompt: "Find all users who haven't accessed \server\hr in the last year."
Find users with shadow access to critical resources.
Example prompt: "Find all users who have shadow access to credit cards" "Find sbcloudlab\admins shadow access"
Check currently running Netwrix Access Analyzer jobs.
Example prompt: "Are there any Access Analyzer jobs running right now? Show me the status."
If you encounter connection issues:
.env
fileIf Claude Desktop can't find the uv
command:
uv
in your configuration (use which uv
or where uv
to find it)Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!