VPN Toggle
This skill guards corpnet-only MCP servers and tools. Before any tool call against a whitelisted plugin or tool name, it verifies the Microsoft VPN (MSFT-AzVPN-Manual) is connected and dials it if not.
When to Use
Run this skill (or its check step) before invoking any tool from a plugin/MCP server listed in vpn-toggle/whitelist.yaml. It is safe to call repeatedly — it is a no-op when the VPN is already up.
By default the whitelist enables:
mcaps-iq(MCAPS-IQ MCP plugin and allmcaps-iq:*tools)msx(MSX MCP server and allmsx-*tools)
Add or remove entries by editing vpn-toggle/whitelist.yaml.
Procedure
Load the whitelist
- Read
vpn-toggle/whitelist.yamlfrom this skill's folder. - Collect the set of whitelisted plugin names (
plugins:) and tool names (tools:).
- Read
Decide if a guard is needed
- If the next intended tool call's plugin OR tool name matches the whitelist, continue. Otherwise skip.
Check VPN status
- Run:
rasdial - Parse the output. If a line containing
MSFT-AzVPN-Manualappears under "Connected to", the VPN is up — proceed with the original tool call. - If the output is
No connectionsor does not listMSFT-AzVPN-Manual, go to step 4.
- Run:
Connect the VPN
- Run:
rasdial "MSFT-AzVPN-Manual" - If the command exits 0, the VPN is up — proceed.
- If it fails (e.g., requires interactive credentials, smart card, or MFA prompt), surface the exact stderr to the user and stop. Do not retry silently.
- Run:
Proceed
- Invoke the original whitelisted tool/plugin call.
Notes
- This skill only runs
rasdialandrasdial "MSFT-AzVPN-Manual". It never disconnects the VPN. - The whitelist file lives at
vpn-toggle/whitelist.yamlrelative to the installed skill directory. - Plugin matching is by exact plugin name (e.g.,
msx,mcaps-iq). Tool matching is by exact tool name (e.g.,msx-get_milestones) and overrides plugin-level rules when more specific. - If
rasdialis unavailable (non-Windows), report this to the user and stop — do not attempt a workaround.