Netwrix アクセス アナライザー用の MCP サーバー
Netwrix Access Analyzer データ分析用の FastMCP ベースのサーバー。Claude Desktop と統合してデータ分析機能を強化するように設計されています。
特徴
- 起動時に自動接続する SQL Server 統合
- 動的データベーススキーマ探索
- SQLクエリ実行
- Netwrix アクセスアナライザー ファイル システム ツール
依存関係
この MCP サーバーには次の依存関係が必要です。
- Python 3.12以上
- MCP SDK
- pyodbc 4.0.39 以上 (SQL Server 接続用)
- python-dotenv 1.0.0 以上(環境変数管理用)
- ODBC ドライバー 17 for SQL Server 以降 (システムにインストールされている必要があります)
Netwrix アクセス アナライザー (NAA) の依存関係
この MCP サーバーでは、Netwrix Access Analyzer (NAA) ファイル システム スキャンを完了する必要があります。
インストール
システム依存関係
まず、SQL Server 用の ODBC ドライバーがインストールされていることを確認します。
- macOS : Homebrew を使用してインストール:
brew install microsoft/mssql-release/msodbcsql17
- Windows : Microsoft ODBC ドライバー ページからダウンロードしてインストールします。
- Linux : ディストリビューションに応じたMicrosoftの指示に従ってください
Pythonの依存関係
uv
を使用して必要な Python パッケージをインストールする
データベースのセットアップ
開発またはテスト目的のみ:
- SQL Server 接続の詳細を含む
.env
ファイルをプロジェクト ディレクトリに作成します。
- サンプルの値を実際のデータベース接続情報に置き換えます。
Claude Desktopとの統合
この MCP サーバーを Claude Desktop で使用できるようにするには:
- クロードデスクトップを開く
- Claude Desktop 構成ファイルに移動します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
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
: 説明するテーブルの名前
プロンプトの例: 「Permissions テーブルのスキーマを説明してください。どのような列がありますか?」
Get-TableSchema
特定のテーブルのスキーマ情報を取得します。
パラメータ:
table_name
: スキーマを取得するテーブルの名前。
プロンプトの例: 「Users テーブルのスキーマを表示してください。」
Get-TableSample
指定されたテーブルから 10 行のサンプルを取得します。
パラメータ:
tablename
: サンプリングするテーブルの名前
プロンプトの例: 「Permissions テーブルから 10 行のサンプルを取得してください。」
アクセス解析ツール
センシティブデータの検出
機密データが含まれる場所を特定します。
プロンプトの例: 「環境内の機密データが含まれるすべての共有を検索します。」
Get-TrusteeAccess
特定のユーザーまたはグループがアクセスできる場所を識別します。
パラメータ:
trustee
: ドメイン\ユーザー名形式levelsdown
: トラバースするディレクトリレベルの数 (デフォルト: 0)
プロンプトの例: 「DOMAIN\JohnDoe はファイル システムのどこにアクセスできますか?」
Get-TrusteePermissionSource
特定のリソースに対するユーザーの権限のソースを決定します。
パラメータ:
trustee
: ドメイン\ユーザー名形式resourcepath
: リソースへのパス
プロンプトの例: 「なぜ DOMAIN\JaneDoe は \server\share\folder にアクセスできるのですか? この権限のソースは何ですか?」
Get-ResourceAccess
特定のリソースにアクセスできるユーザーを表示します。
パラメータ:
resource
: リソースへのパス
プロンプトの例: 「\server\finance にアクセスできるのは誰ですか? すべてのユーザーとグループを表示してください。」
Get-UnusedAccess
特定のリソースへの未使用のアクセス権を持つユーザーを見つけます。
パラメータ:
resource
: リソースへのパス
プロンプトの例: 「過去 1 年間に \server\hr にアクセスしていないすべてのユーザーを検索します。」
Get-ShadowAccess
重要なリソースへのシャドウ アクセス権を持つユーザーを見つけます。
プロンプトの例: 「クレジットカードへのシャドウアクセスを持つすべてのユーザーを検索する」「sbcloudlab\admins のシャドウアクセスを検索する」
運用ツール
Get-RunningJobs
現在実行中の Netwrix Access Analyzer ジョブを確認します。
プロンプトの例: 「現在実行中の Access Analyzer ジョブはありますか? ステータスを表示してください。」
トラブルシューティング
接続の問題
接続の問題が発生した場合:
- SQL Server が実行中で、ネットワークからアクセスできることを確認します。
.env
ファイルで資格情報を確認してください- ODBCドライバが正しくインストールされていることを確認してください
- 詳細なエラーメッセージについてはログを確認してください
クロードデスクトップ統合
Claude Desktop がuv
コマンドを見つけられない場合:
- 設定で
uv
へのフルパスを使用します (which uv
またはwhere uv
を使用して見つけます) - 設定変更後は必ずClaude Desktopを再起動してください。
- Claude のログで、MCP サーバーに関連するエラー メッセージを確認します。
This server cannot be installed
AI エージェントが標準化されたインターフェースを介して Netwrix Access Analyzer と対話できるようにするモデル コンテキスト プロトコル サーバー。データ アクセスのリスク、データ分類、ユーザー アクセス パターンを可視化し、組織が最も機密性の高いデータをより安全に保護できるようにします。