Netwrix 访问分析器的 MCP 服务器
基于 FastMCP 的 Netwrix Access Analyzer 数据分析服务器,旨在与 Claude Desktop 集成以增强数据分析能力。
特征
SQL Server 集成启动时自动连接
动态数据库模式探索
SQL 查询执行
Netwrix Access Analyzer 文件系统工具
Related MCP server: IR Toolshed MCP Server
依赖项
此 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 驱动程序:
macOS :使用 Homebrew 安装:
brew install microsoft/mssql-release/msodbcsql17Windows :从Microsoft ODBC 驱动程序页面下载并安装
Linux :请遵循Microsoft 针对您的发行版的说明
Python依赖项
使用uv安装所需的 Python 包
数据库设置
仅用于开发或测试目的:
在您的项目目录中创建一个包含 SQL Server 连接详细信息的
.env文件:
将示例值替换为您的实际数据库连接信息。
与 Claude Desktop 集成
要使此 MCP 服务器在 Claude Desktop 中可用:
打开 Claude 桌面
导航到 Claude Desktop 配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
将以下配置添加到
mcpServers部分。重启Claude桌面
示例配置
将
/path/to/your/uv替换为您的uv可执行文件的实际路径(使用which uv或where uv查找),并更新您的main.py文件的路径以及数据库连接信息。重新启动 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 作业正在运行?显示状态。”
故障排除
连接问题
如果遇到连接问题:
验证 SQL Server 是否正在运行并可从网络访问
检查
.env文件中的凭据确保 ODBC 驱动程序已正确安装
检查日志以获取详细的错误消息
Claude 桌面集成
如果 Claude Desktop 找不到uv命令:
在您的配置中使用
uv的完整路径(使用which uv或where uv来找到它)确保在配置更改后重新启动 Claude Desktop
检查 Claude 日志中是否有与 MCP 服务器相关的错误消息