n

netwrix

@netwrix/mcp-server-naa
0 Stars 292 次浏览 netwrix 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP Server for Netwrix Access Analyzer

基于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 Access Analyzer (NAA) 依赖项

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

安装

系统依赖项

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

Python依赖项

使用uv安装所需的Python包

数据库设置

仅用于开发或测试目的:

  1. 在项目目录中创建一个.env文件,包含您的SQL Server连接详细信息:

数据库连接信息

DB_SERVER=your_server_name
DB_NAME=your_database_name
DB_USER=your_username
DB_PASSWORD=your_password
DB_USE_WINDOWS_AUTH=FALSE # 如果使用Windows身份验证,请设为TRUE

  1. 将示例值替换为您实际的数据库连接信息。

与Claude Desktop集成

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

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

示例配置

json
"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服务器提供了以下工具来与数据库系统交互并分析访问数据:

数据库连接工具

Connect-Database

连接到MS SQL Server数据库。

参数:

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

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

Show-ConnectionStatus

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

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

数据查询和模式工具

Show-TableSchema

获取数据库表模式的详细说明。

参数:

  • table_name: 要解释的表名

示例提示:"解释Permissions表的结构。它有哪些列?"

Get-TableSchema

检索特定表的架构信息。

参数:

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

示例提示:
"显示Users表的架构。"

Get-TableSample

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

参数:

  • tablename: 要取样的表名。

示例提示:
"给我Permissions表中的10行样本数据。"

访问分析工具

Discover-SensitiveData

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

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

Get-TrusteeAccess

识别特定用户或组具有访问权限的位置。

参数:

  • trustee: 域用户名格式
  • levelsdown: 需要遍历的目录层级数(默认值:0)

示例提示:
"DOMAINJohnDoe在我们的文件系统中有哪些访问权限?"

Get-TrusteePermissionSource

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

参数:

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

示例提示:
"为什么DOMAINJaneDoe可以访问\serversharefolder?这个权限的来源是什么?"

Get-ResourceAccess

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

参数:

  • resource: 资源路径

示例提示:
"谁有权访问\serverfinance?显示所有用户和组。"

Get-UnusedAccess

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

参数:

  • resource: 资源路径

示例提示:
"找出过去一年内没有访问过\serverhr的所有用户。"

Get-ShadowAccess

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

示例提示:
"找出所有对信用卡有影子访问权限的用户"
"查找sbcloudlabadmins的影子访问权限"

操作工具

Get-RunningJobs

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

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

故障排除

连接问题

如果您遇到连接问题:

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

Claude Desktop集成

如果Claude Desktop找不到uv命令:

  1. 在配置中使用uv的完整路径(使用which uvwhere uv来找到它)。
  2. 确保在更改配置后重启了Claude Desktop。
  3. 检查Claude日志中与MCP服务器相关的任何错误消息。

相关 MCP 服务