mcp-netwrixaccessanalayzer

Netwrix 访问分析器的 MCP 服务器

基于 FastMCP 的 Netwrix Access Analyzer 数据分析服务器,旨在与 Claude Desktop 集成以增强数据分析能力。

特征

  • SQL Server 集成启动时自动连接
  • 动态数据库模式探索
  • SQL 查询执行
  • Netwrix Access Analyzer 文件系统工具

依赖项

此 MCP 服务器需要以下依赖项:

  • Python 3.12 或更高版本
  • MCP SDK
  • pyodbc 4.0.39 或更高版本(用于 SQL Server 连接)
  • python-dotenv 1.0.0 或更高版本(用于环境变量管理)
  • 适用于 SQL Server 的 ODBC 驱动程序 17 或更高版本(必须安装在您的系统上)

Netwrix 访问分析器(NAA)依赖项

此 MCP 服务器需要完成 Netwrix Access Analyzer (NAA) 文件系统扫描。

安装

系统依赖项

首先,确保您已安装 SQL Server 的 ODBC 驱动程序:

Python依赖项

使用uv安装所需的 Python 包

数据库设置

仅用于开发或测试目的:

  1. 在您的项目目录中创建一个包含 SQL Server 连接详细信息的.env文件:
# 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
  1. 将示例值替换为您的实际数据库连接信息。

与 Claude Desktop 集成

要使此 MCP 服务器在 Claude Desktop 中可用:

  1. 打开 Claude 桌面
  2. 导航到 Claude Desktop 配置文件:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. 将以下配置添加到mcpServers部分。
  4. 重启Claude桌面

示例配置

"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" } }
  1. /path/to/your/uv替换为您的uv可执行文件的实际路径(使用which uvwhere uv查找),并更新您的main.py文件的路径以及数据库连接信息。
  2. 重新启动 Claude Desktop 以应用更改

可用工具和示例提示

MCP 服务器提供以下与数据库系统交互和分析访问数据的工具:

数据库连接工具

连接数据库

连接到 MS SQL Server 数据库。

参数:

  • server :SQL Server 地址
  • database :数据库名称
  • username :SQL Server 用户名(如果使用 Windows 身份验证则为可选)
  • password :SQL Server 密码(如果使用 Windows 身份验证则为可选)
  • trusted_connection :Windows 身份验证的布尔标志

提示示例: “使用 [USERNAME] 用户和 [PASSWORD] 密码连接到位于 [DBSERVER] 且名称为 [DBNAME] 的 SQL Server 数据库。”

显示连接状态

检查当前数据库连接状态。

示例提示: “数据库当前是否连接?显示连接状态。”

数据查询和模式工具

显示表架构

获取数据库表模式的详细解释。

参数:

  • table_name :要解释的表的名称

示例提示: “解释权限表的模式。它有哪些列?”

获取表架构

检索特定表的架构信息。

参数:

  • table_name :要获取架构的表的名称。

提示示例: “显示用户表的架构。”

获取表样本

从指定表中检索 10 行样本。

参数:

  • tablename :要采样的表的名称

提示示例: “请给我权限表中的 10 行样本。”

访问分析工具

发现敏感数据

识别包含敏感数据的位置。

提示示例: “查找我们环境中包含敏感数据的所有共享。”

获取受托人访问权限

确定特定用户或组有权访问的位置。

参数:

  • trustee :域\用户名格式
  • levelsdown :遍历多少个目录级别(默认值:0)

提示示例: “DOMAIN\JohnDoe 在我们的文件系统中可以访问哪些内容?”

获取受托人权限源

确定用户对特定资源的权限来源。

参数:

  • trustee :域\用户名格式
  • resourcepath :资源路径

示例提示: “DOMAIN\JaneDoe 为何有权访问 \server\share\folder?此权限的来源是什么?”

获取资源访问

显示谁有权访问特定资源。

参数:

  • resource :资源路径

提示示例: “谁有权访问 \server\finance?显示所有用户和组。”

获取未使用的访问权限

查找对特定资源具有未使用访问权限的用户。

参数:

  • resource :资源路径

示例提示: “查找去年未访问过 \server\hr 的所有用户。”

获取ShadowAccess

查找对关键资源具有影子访问权限的用户。

提示示例: “查找所有具有信用卡影子访问权限的用户” “查找 sbcloudlab\admins 影子访问权限”

操作工具

获取正在运行的作业

检查当前正在运行的 Netwrix Access Analyzer 作业。

提示示例: “现在是否有任何 Access Analyzer 作业正在运行?显示状态。”

故障排除

连接问题

如果遇到连接问题:

  1. 验证 SQL Server 是否正在运行并可从网络访问
  2. 检查.env文件中的凭据
  3. 确保 ODBC 驱动程序已正确安装
  4. 检查日志以获取详细的错误消息

Claude 桌面集成

如果 Claude Desktop 找不到uv命令:

  1. 在您的配置中使用uv的完整路径(使用which uvwhere uv来找到它)
  2. 确保在配置更改后重新启动 Claude Desktop
  3. 检查 Claude 日志中是否有与 MCP 服务器相关的错误消息
-
security - not tested
-
license - not tested
-
quality - not tested

模型上下文协议服务器使 AI 代理能够通过标准化接口与 Netwrix 访问分析器进行交互,从而可以了解数据访问风险、数据分类和用户访问模式,帮助组织更好地保护其最敏感的数据。

  1. Features
    1. Dependencies
      1. Netwrix Access Analyzer (NAA) Dependencies
    2. Installation
      1. System Dependencies
      2. Python Dependencies
      3. Database Setup
    3. Integration with Claude Desktop
      1. Example Configuration
    4. Available Tools and Sample Prompts
      1. Database Connection Tools
      2. Data Query and Schema Tools
      3. Access Analysis Tools
      4. Operational Tools
    5. Troubleshooting
      1. Connection Issues
      2. Claude Desktop Integration
    ID: bobodjrb8g