Skip to main content
Glama
Mhdd-24

NetExtender MCP Server

by Mhdd-24

@mhdd_24/netextender-mcp

MCP server for SonicWall NetExtender on Windows. Use it from Cursor or any MCP client to check VPN status, list profiles, connect, and disconnect via nxcli.exe.

Same layout as @mhdd_24/timelog-mcp: config-driven tools, env defaults, stdio MCP server.

Full documentation: docs/WIKI.md


Tools

Tool

Purpose (timelog equivalent)

vpn_status

Check connection (whoami)

list_vpn_profiles

List saved profiles (list_time_types)

vpn_connect

Connect VPN (log_time)

vpn_disconnect

Disconnect VPN


Related MCP server: Palo Alto Networks MCP Server

Prerequisites

Requirement

Notes

Windows

Uses SonicWall nxcli.exe (NetExtender 10.3+)

NetExtender installed

Default path: C:\Program Files\SonicWall\SSL-VPN\NetExtender\nxcli.exe

VPN credentials

Set in MCP env or pass per tool call


Project layout

netextender-mcp/
  src/
    index.ts
    env.ts
    config/netextender.config.ts
    interfaces/netextender.ts
    services/netextenderCliService.ts
    tools/
      index.ts
      statusTool.ts
      listProfilesTool.ts
      connectTool.ts
      disconnectTool.ts
  package.json
  tsconfig.json
  README.md

Local development

cd netextender-mcp
npm install
npm run build
npm run dev

Copy .env.example to .env for local testing.


Configure Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "netextender": {
      "command": "node",
      "args": ["C:/codeBase/netextender-mcp/dist/index.js"],
      "env": {
        "NETEXTENDER_CLI": "C:/Program Files/SonicWall/SSL-VPN/NetExtender/nxcli.exe",
        "NETEXTENDER_PROFILE": "<your-profile>",
        "NETEXTENDER_SERVER": "host:port",
        "NETEXTENDER_DOMAIN": "<your-domain>",
        "NETEXTENDER_USERNAME": "<your-vpn-username>",
        "NETEXTENDER_PASSWORD": "<your-vpn-password>",
        "NETEXTENDER_ALWAYS_TRUST": "true"
      }
    }
  }
}

After publishing to npm:

"netextender": {
  "command": "npx",
  "args": ["-y", "@mhdd_24/netextender-mcp"],
  "env": { ... }
}

Restart Cursor after saving.


Environment variables

Variable

Required

Purpose

NETEXTENDER_CLI

No*

Path to nxcli.exe (auto-detected)

NETEXTENDER_PROFILE

No

Default connection profile name

NETEXTENDER_SERVER

No

Default host:port

NETEXTENDER_DOMAIN

No

Default VPN domain

NETEXTENDER_USERNAME

No

Default username

NETEXTENDER_PASSWORD

No

Default password

NETEXTENDER_ALWAYS_TRUST

No

true to pass --always-trust

* Required if NetExtender is not in the default install path.

Never commit VPN passwords. Keep them in MCP env only.


Usage in chat

Run vpn_status on the netextender MCP.

vpn_connect using profile <your-profile>.

vpn_disconnect

list_vpn_profiles


Notes

  • nxcli connection list may return current session status while connected (SonicWall CLI behavior).

  • OTP / Duo / SAML flows may need interactive approval outside MCP.

  • Uses nxcli from NetExtender 10.3+ (not legacy necli.exe).


License

ISC

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mhdd-24/NetExtender-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server