Vpn toggle
Ensures the Microsoft corporate VPN is connected before invoking any whitelisted MCP server (plugin) or tool. Reads the user-defined whitelist in vpn-toggle/whitelist.yaml, checks whether the MSFT-AzVPN-Manual connection is up, and runs `rasdial "MSFT-AzVPN-Manual"` to bring it up if it is not. Use whenever about to call a tool from a plugin/MCP server that requires corpnet access (e.g., mcaps-iq, msx).From its SKILL.md
npx -y skills add ng4567/ng-msft-workflow-skills --skill vpn-toggleAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.6 KB, 563 tokens by cl100k_base, as published. Nobody here has run it
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.
What ships with it: 4 files
3.1 KB alongside SKILL.md, 2 of them executable
hooks/
- vpn-guard.json211 B
- vpn-guard.ps1runs1.8 KB
- install-hook.ps1runs605 B
- whitelist.yaml521 B
Gives 0 of the 12 instructions most mcp tooling skills give in 563 tokens
Counted across 638 of the 750 authors here whose files we hold, read 2026-08-07
- Create ten complex or independent read-only evaluation questionsin 69 of 638, across 15 files
- Test servers using MCP Inspectorin 61 of 638, across 19 files
- Provide actionable error messages with specific next stepsin 54 of 638, across 12 files
- Prioritize comprehensive API coverage over specific workflows or workflow toolsin 54 of 638, across 12 files
- Use TypeScript and Streamable HTTP for remote servers or clientsin 54 of 638, across 8 files
- Define structured output schemas where possiblein 50 of 638, across 8 files
- Use Zod or Pydantic for input schemasin 47 of 638, across 5 files
- Fetch MCP specification pages with markdown suffixin 46 of 638, across 4 files
- Load framework documentation using WebFetchin 45 of 638, across 3 files
- Verify each evaluation answer independentlyin 45 of 638, across 3 files
- Implement API client with authentication and paginationin 45 of 638, across 3 files
- Define input schemas with validationin 27 of 638, across 9 files
Said here and by no other author read
- run before invoking whitelisted tools
- load the whitelist file
- skip guard for non-whitelisted tools
- check VPN connection status
- connect the VPN if down
- stop on VPN connection failure
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.