A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
privateaccess-mcp
A comprehensive Model Context Protocol (MCP) server for managing Netskope Private Access (NPA) infrastructure through AI-powered automation.
This project includes extensive documentation organized for easy navigation:
👉 Start with the Complete Documentation - Overview and navigation guide
| Category | Description | Link |
|---|---|---|
| 🏗️ Architecture | Server design and patterns | Server Architecture |
| 🛠️ Tools Reference | Complete tool documentation | Publisher Tools, Private App Tools, Policy Tools |
| 🔄 Workflows | Common automation patterns | Common Workflows |
| 💼 Real Examples | Complete use cases | Real-World Examples |
The MCP server provides 84 specialized tools across 10 categories:
| Category | Tools | Primary Use Cases |
|---|---|---|
| Publishers | 9 tools | Infrastructure deployment and management |
| Private Apps | 15 tools | Application lifecycle and configuration |
| Local Brokers | 7 tools | Network connectivity and routing |
| Policy Management | 6 tools | Access control and security rules |
| SCIM Integration | 5 tools | Identity and user management |
| Upgrade Profiles | 7 tools | Automated maintenance scheduling |
| Steering | 3 tools | Traffic routing and associations |
| Alerts | 2 tools | Event monitoring and notifications |
| Search | 2 tools | Resource discovery and querying |
| Validation | 2 tools | Configuration compliance |
AI Response: Executes comprehensive deployment workflow
AI Response: Emergency security response workflow
AI Response: Automated compliance assessment
Environment Setup
export NETSKOPE_BASE_URL="https://your-tenant.goskope.com"
export NETSKOPE_TOKEN="your-api-token"
Install and Run
npm install
npm run build
npm start
Connect via MCP Client
{
"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"
}
}
}
}
npm install @johnneerdael/ns-private-access-mcp
git clone https://github.com/johnneerdael/privateaccess-mcp.git
cd privateaccess-mcp
npm install
npm run build
For clients that take a JSON map (Cursor, Windsurf, custom hosts):
{
"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"
}
}
}
}
Prefer to run your own instance? Two compose files are shipped:
| File | Purpose | Command |
|---|---|---|
docker-compose.yml | Run the prebuilt multi-arch image from GHCR. | docker compose up -d |
docker-compose.build.yml | Build from local sources (for development). | docker compose -f docker-compose.build.yml up --build |
One-liners without 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
The container exposes /mcp (streamable HTTP) and /healthz (liveness).
Useful env vars:
| Var | Purpose |
|---|---|
PORT / HOST | Bind address (default 0.0.0.0:3000). |
PUBLIC_URL | Canonical public origin (e.g. https://YOUR-MCP-HOST.example.com). Surfaced in /healthz and the startup log; reserved for future OAuth/well-known metadata. Safe to omit. |
CORS_ORIGIN | Comma-separated allowlist for browser-based MCP clients (e.g. https://claude.ai). Defaults to *. Not relevant for CLI clients (Claude Code, Codex, Cursor) or when running behind a reverse proxy that doesn't itself need CORS. |
NETSKOPE_BASE_URL / NETSKOPE_API_TOKEN | Optional fallback credentials, used only when a client omits the headers. Set both for single-tenant deployments; leave both unset for multi-tenant self-hosting (recommended for shared self-hosted deployments). |
Tools are designed to work together through well-defined interfaces:
// 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
Every tool uses Zod schemas for type safety and validation:
const createAppSchema = z.object({
app_name: z.string().min(1).max(64),
host: z.string().url(),
protocols: z.array(protocolSchema),
clientless_access: z.boolean()
});
Built-in patterns for handling common issues:
This MCP server transforms complex Netskope NPA management into simple, AI-driven conversations.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Secure MCP server for MySQL database interaction, queries, and schema management
English-first Korean equity intelligence MCP — DART filings, foreign-holder 5%-rule flows, activist filings, KRX news. F
0
via CLI