MCP Server for Netwrix Access Analyzer

MCP Server for Netwrix Access Analyzer

镜子 (jìng zi)

MCP-Mirror

研究与数据
访问服务器

README

用于 Netwrix Access Analyzer 的 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 或更高版本(用于环境变量管理)
  • ODBC Driver 17 for SQL Server 或更高版本(必须安装在您的系统上)

Netwrix Access Analyzer (NAA) 依赖项

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

安装

系统依赖项

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

Python 依赖项

使用 uv 安装所需的 Python 包

数据库设置

仅用于开发或测试目的:

  1. 在您的项目目录中创建一个 .env 文件,其中包含您的 SQL Server 连接详细信息:
# 数据库连接信息
DB_SERVER=您的服务器名称
DB_NAME=您的数据库名称
DB_USER=您的用户名
DB_PASSWORD=您的密码
DB_USE_WINDOWS_AUTH=FALSE     # 设置为 TRUE 以使用 Windows 身份验证
  1. 将示例值替换为您的实际数据库连接信息。

与 Claude Desktop 集成

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

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

示例配置

"NetwrixAccessAnalyzer": {
  "command": "/path/to/your/uv",
  "args": [
    "run",
    "--with",
    "pyodbc,fastmcp",
    "fastmcp",
    "run",
    "/path/to/mcp/main.py"
  ],
  "env": {
    "DB_SERVER": "您的服务器地址",
    "DB_NAME": "您的数据库名称",
    "DB_USER": "您的用户名",
    "DB_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: Domain\Username 格式
  • levelsdown: 要遍历的目录级别数(默认值:0)

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

Get-TrusteePermissionSource

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

参数:

  • trustee: Domain\Username 格式
  • resourcepath: 资源的路径

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

Get-ResourceAccess

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

参数:

  • resource: 资源的路径

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

Get-UnusedAccess

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

参数:

  • resource: 资源的路径

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

Get-ShadowAccess

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

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

运营工具

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 服务器相关的任何错误消息

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python