vpn-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vpn_connectA | Connect to a VPN exit node. Starts local proxy. After connecting, use vpn_fetch(url) to make requests through the VPN. If the account is not yet activated, returns payment instructions — show these to the user so they can pay with a TON wallet app. Do NOT open a browser for payment — the payment address is returned directly by this tool. |
| vpn_disconnectA | Disconnect from VPN. Stops the local proxy. WebFetch returns to direct connection. |
| vpn_switchA | Switch to a different VPN exit node. Restarts the proxy with the new node. |
| vpn_statusA | Check VPN account status: payment state, quota used/remaining, expiry, active node. Use after payment to verify activation before connecting. |
| vpn_nodesA | List available VPN exit nodes with regions. Requires an active (paid) account. |
| vpn_activateA | Activate VPN account. Returns a TON USDT payment address and instructions. Show the address and instructions to the user — they need to send 1 USDT using a TON wallet app (Tonkeeper, TonHub, etc). Payment is detected automatically. Do NOT open a browser — all payment info is returned by this tool. After the user pays, call vpn_status() to check, then vpn_connect() to start. |
| vpn_fetchA | Fetch a URL through the VPN tunnel. Use this instead of WebFetch when you need the request to come from the VPN exit node IP. Requires vpn_connect() first. Returns status code, headers, and body. This is the safe default — only vpn_fetch requests go through VPN, WebFetch stays direct. |
| vpn_setupA | Download and install VPN binary for the current OS. Called automatically by vpn_connect if needed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a distinct and clear purpose within the VPN lifecycle: activation, connection, disconnection, fetching through VPN, node listing, setup, status checking, and node switching. There is no overlap or ambiguity; an agent can easily select the right tool for each step.
All tool names follow a consistent 'vpn_' prefix with descriptive action suffixes (e.g., activate, connect, fetch). The naming pattern is uniform and predictable, making it easy for an agent to understand and navigate the toolset.
With 8 tools, the server is well-scoped for managing a VPN service. Each tool serves a specific function in the activation, setup, connection, usage, and management workflow, with no redundant or missing operations for the domain.
The toolset provides complete coverage for the VPN domain: account activation, setup, connection, disconnection, fetching through the VPN, node listing, status monitoring, and node switching. There are no obvious gaps, enabling agents to handle the full lifecycle without dead ends.