Netskope NPA MCP Server について
Netskope Private Access(NPA)のインフラを管理するMCPサーバーです。ネットワークやセキュリティ運用向けに、アプリ、ポリシー、ID、保守、コンプライアンスの専用ツールを備え、ツールを組み合わせたワークフローにも対応します。
主な機能
- 01パブリッシャー、プライベートアプリ、ローカルブローカーの管理
- 02アクセスポリシーとトラフィックステアリングの設定
- 03SCIMによるID・ユーザー管理
- 04保守プロファイル、アラート、検索の管理
- 05設定の検証とコンプライアンス評価
- 06入力検証、レート制限、ログ記録
活用シーン
- 01新しい拠点のNPAインフラ構築
- 02セキュリティインシデント時のアプリへのアクセス制限
- 03NPA環境全体のポリシーとバージョンの監査
- 04リソース検索と設定コンプライアンスの検証
MCP 対応
インフラ、アプリ、ポリシー、ID、検証など10カテゴリのNetskope NPA管理ツールをMCPクライアントに公開します。stdioまたは`/mcp`のストリーミングHTTPエンドポイントで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/johnneerdael/privateaccess-mcp:latestローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/johnneerdael/privateaccess-mcp:lateststdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Netskope NPA MCP サーバー
AI による自動化を通じて Netskope Private Access(NPA)インフラストラクチャを管理するための、包括的な Model Context Protocol(MCP)サーバーです。
📚 完全なドキュメント
このプロジェクトには、簡単に参照できるよう整理された詳細なドキュメントが含まれています。
👉 完全なドキュメントから始める - 概要とナビゲーションガイド
クイックアクセスリンク
| カテゴリ | 説明 | リンク |
|---|---|---|
| 🏗️ アーキテクチャ | サーバーの設計とパターン | サーバーアーキテクチャ |
| 🛠️ ツールリファレンス | ツールの完全なドキュメント | パブリッシャーツール、プライベートアプリツール、ポリシーツール |
| 🔄 ワークフロー | 一般的な自動化パターン | 一般的なワークフロー |
| 💼 実例 | 完全なユースケース | 実際の使用例 |
ツールの概要
MCP サーバーは、10 カテゴリにわたる 84 個の専門ツールを提供します。
| カテゴリ | ツール数 | 主なユースケース |
|---|---|---|
| パブリッシャー | 9 ツール | インフラストラクチャのデプロイと管理 |
| プライベートアプリ | 15 ツール | アプリケーションのライフサイクルと設定 |
| ローカルブローカー | 7 ツール | ネットワーク接続とルーティング |
| ポリシー管理 | 6 ツール | アクセス制御とセキュリティルール |
| SCIM 統合 | 5 ツール | ID とユーザーの管理 |
| アップグレードプロファイル | 7 ツール | メンテナンススケジュールの自動化 |
| ステアリング | 3 ツール | トラフィックルーティングと関連付け |
| アラート | 2 ツール | イベントの監視と通知 |
| 検索 | 2 ツール | リソースの検出とクエリ |
| 検証 | 2 ツール | 設定のコンプライアンス |
実際の使用例
🏢「ロンドンの新しいオフィス向けに、NPA インフラストラクチャ一式をセットアップして」
AI の応答:包括的なデプロイワークフローを実行します
- ✅ 自動アップグレードプロファイルを適用したパブリッシャーを作成
- ✅ 内部ルーティング用にローカルブローカーを設定
- ✅ 中核業務アプリケーション(CRM、ERP、ファイルサーバー)をセットアップ
- ✅ SCIM グループ検証を伴うアクセス ポリシーを作成
- ✅ オフィスネットワークの監視と検出を有効化
- ✅ 現地デプロイ用の登録トークンを生成
🚨「緊急:セキュリティインシデント発生。HR/Finance アプリを直ちにロックダウンして」
AI の応答:緊急セキュリティ対応ワークフロー
- ✅ すべての HR/Finance アプリケーションを自動で特定
- ✅ 最優先度の緊急ポリシーグループを作成
- ✅ インシデント対応チーム以外のすべてのユーザーのアクセスをブロック
- ✅ セキュリティイベントの監視を強化
- ✅ インシデント追跡用のタグをアプリケーションに付与
📊「NPA 環境の包括的なコンプライアンス監査を実施して」
AI の応答:コンプライアンス評価を自動実行します
- ✅ すべてのパブリッシャーのバージョン準拠状況を監査
- ✅ アクセスポリシーが設定されていないアプリケーションを特定
- ✅ ポリシー内の SCIM グループ参照を検証
- ✅ コンプライアンススコアと修正計画を生成
- ✅ 優先度付きの詳細な調査結果レポートを作成
クイックスタート
-
環境のセットアップ
export NETSKOPE_BASE_URL="https://your-tenant.goskope.com" export NETSKOPE_TOKEN="your-api-token" -
インストールと実行
npm install npm run build npm start -
MCP クライアント経由で接続
{ "mcpServers": { "netskope-npa": { "command": "node", "args": ["/path/to/privateaccess-mcp/build/index.js"], "env": { "NETSKOPE_BASE_URL": "https://your-tenant.goskope.com", "NETSKOPE_TOKEN": "your-api-token" } } } }
主な機能
🤖 AI ネイティブ設計
- LLM との連携を想定し、明確な説明を備えたツール
- パラメーターの自動検証と変換
- トラブルシューティングに役立つ詳細なエラー情報
🔄 ワークフローのオーケストレーション
- ツール間の連携を自動化
- リトライロジックとエラー復旧を内蔵
- 可能な場合はトランザクション処理を実施
🛡️ 本番環境に対応
- Zod スキーマによる包括的な入力検証
- レート制限と API クォータ管理
- 詳細なログ記録と監視
🔗 統合パターン
- ID 解決のための SCIM 統合
- リソース検出用の検索ツール
- コンプライアンス確認用の検証ツール
インストール方法
NPM パッケージ
npm install @johnneerdael/ns-private-access-mcp
ローカル開発
git clone https://github.com/johnneerdael/privateaccess-mcp.git
cd privateaccess-mcp
npm install
npm run build
汎用 JSON クライアント設定
JSON マップを受け取るクライアント(Cursor、Windsurf、カスタムホスト)の場合:
{
"mcpServers": {
"netskope": {
"url": "https://YOUR-MCP-HOST.example.com/mcp",
"headers": {
"X-Netskope-Tenant": "https://YOUR-TENANT.goskope.com",
"Authorization": "Bearer YOUR_NETSKOPE_API_TOKEN"
}
}
}
}
セルフホスト
独自のインスタンスを実行しますか? compose ファイルが 2 つ用意されています:
| ファイル | 目的 | コマンド |
|---|---|---|
docker-compose.yml | GHCR のビルド済みマルチアーキテクチャイメージを実行します。 | docker compose up -d |
docker-compose.build.yml | ローカルソースからビルドします(開発用)。 | docker compose -f docker-compose.build.yml up --build |
compose を使わずに実行するワンライナー:
# Prebuilt image from GHCR
docker run --rm -p 3000:3000 ghcr.io/johnneerdael/privateaccess-mcp:latest
# Build and run from a local checkout
docker build -t netskope-mcp:local .
docker run --rm -p 3000:3000 netskope-mcp:local
# Or just run the Node entry directly
npm run build && PORT=3000 node dist/cli-http.js
コンテナは /mcp(ストリーミング可能な HTTP)と /healthz(ライブネス)を公開します。
便利な環境変数:
| 変数 | 目的 |
|---|---|
PORT / HOST | バインドアドレス(デフォルトは 0.0.0.0:3000)。 |
PUBLIC_URL | 正規の公開オリジン(例:https://YOUR-MCP-HOST.example.com)。/healthz と起動ログに表示されます。今後の OAuth/well-known メタデータ用に予約されています。省略しても問題ありません。 |
CORS_ORIGIN | ブラウザーベースの MCP クライアント(例:https://claude.ai)向けの、カンマ区切りの許可リスト。デフォルトは * です。CLI クライアント(Claude Code、Codex、Cursor)や、CORS を必要としないリバースプロキシの背後で実行する場合は関係ありません。 |
NETSKOPE_BASE_URL / NETSKOPE_API_TOKEN | オプションのフォールバック認証情報です。クライアントがヘッダーを省略した場合にのみ使用されます。シングルテナントのデプロイでは両方を設定し、マルチテナントのセルフホスト(共有セルフホスト環境で推奨)では両方とも未設定のままにしてください。 |
アーキテクチャの主な特徴
ツールの構成
ツールは、明確に定義されたインターフェースを介して連携するように設計されています:
// Example: Creating a private app with validation and tagging
1. validateName() -> Check app name compliance
2. searchPublishers() -> Find target publisher
3. createPrivateApp() -> Create the application
4. createPrivateAppTags() -> Add organizational tags
5. updatePublisherAssociation() -> Associate with publishers
スキーマ駆動の検証
すべてのツールで、型安全性と検証のために Zod スキーマを使用しています:
const createAppSchema = z.object({
app_name: z.string().min(1).max(64),
host: z.string().url(),
protocols: z.array(protocolSchema),
clientless_access: z.boolean()
});
エラーへの耐性
一般的な問題に対処するためのパターンが組み込まれています:
- MCP オブジェクトからパラメーターを自動抽出
- 指数バックオフによる再試行ロジック
- 部分的な障害に対する適切な縮退
クレジット
- John Neerdael(Netskope Private Access プロダクトマネージャー)
- Mitchell Pompe(NL 担当 Netskope ソリューションズエンジニアリング責任者)
サポート
- ドキュメントに関する問題:GitHub で issue を作成してください
- 機能リクエスト:機能リクエストの issue を作成してください
- バグ報告:バグ報告テンプレートを使用してください
- セキュリティに関する問題:SECURITY.md を参照してください
この MCP サーバーは、複雑な Netskope NPA 管理をシンプルな AI 主導の対話に変えます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。