mullvad-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MULLVAD_CLI_PATH | No | Override path to the mullvad binary | Auto-detected |
| MULLVAD_CLI_TIMEOUT | No | CLI command timeout in seconds | 10 |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connectA | Connect to Mullvad VPN. Optionally set the relay location before connecting. If no location parameters are provided, connects using the currently configured relay. Args: country: Two-letter country code (e.g. "se", "us"). city: Three-letter city code (e.g. "got", "nyc"). hostname: Specific server hostname (e.g. "se-got-wg-004"). Returns: Current VPN status after the connect attempt, including connection state, relay hostname, country, city, and IP addresses. |
| disconnectA | Disconnect from Mullvad VPN. Idempotent — returns current status even if already disconnected. Returns: Current VPN status after the disconnect attempt. |
| reconnectA | Reconnect to Mullvad VPN. Disconnects and reconnects, optionally to a new relay location. Args: country: Two-letter country code (e.g. "se", "us"). city: Three-letter city code (e.g. "got", "nyc"). hostname: Specific server hostname (e.g. "se-got-wg-004"). Returns: Current VPN status after the reconnect attempt. |
| get_statusA | Get current Mullvad VPN connection status. Returns: Dict with connection state, relay details, protocol, IP addresses, country, city, and whether traffic is locked down. |
| check_leakA | Check if your connection is protected by Mullvad VPN. Queries am.i.mullvad.net to verify whether traffic exits through a Mullvad server. Use this to confirm the VPN is working correctly. Returns: Dict with your visible IP, country, city, whether traffic exits through a Mullvad server, the exit hostname, and a leak_detected boolean (True means traffic is NOT going through Mullvad). |
| list_countriesA | List all available Mullvad VPN countries with server counts. Returns:
Dict with a |
| list_citiesA | List available cities for a given country. Args: country: Two-letter country code (e.g. "se", "us", "de"). Returns:
Dict with a |
| list_serversA | List available Mullvad VPN servers with optional filters. Args:
country: Filter by two-letter country code (e.g. "se").
city: Filter by three-letter city code (e.g. "got").
Requires Returns:
Dict with a |
| set_locationA | Set preferred VPN connection location. Args: country: Two-letter country code (e.g. "se") or "any" for automatic. city: Three-letter city code (e.g. "got"). hostname: Specific server hostname (e.g. "se-got-wg-004"). Returns: Current relay constraints after the change. |
| get_account_infoA | Get Mullvad account information. Returns: Dict with masked account number (last 4 digits visible), expiry date, and device name. |
| get_device_infoA | Get information about devices registered to the Mullvad account. Returns:
Dict with a |
| get_settingsA | Get all current Mullvad VPN settings as a structured object. Returns:
Dict with keys: |
| set_killswitchA | Enable or disable the kill switch (lockdown mode). When enabled, all network traffic is blocked unless the VPN is connected. Args: enabled: True to enable, False to disable. Returns:
Dict with |
| set_daitaA | Enable or disable DAITA (Defence Against AI-guided Traffic Analysis). DAITA adds padding to WireGuard traffic to defeat traffic analysis. Args: enabled: True to enable, False to disable. Returns: Current tunnel settings after the change. |
| set_multihopB | Enable or disable multihop (chained VPN connections). When enabled, traffic is routed through an entry server before reaching the exit server, adding an extra layer of privacy. Args: enabled: True to enable, False to disable. entry_country: Two-letter country code for the entry server. entry_city: Three-letter city code for the entry server. Returns: Current relay constraints after the change. |
| set_dnsA | Configure DNS settings. Args: mode: "default" for Mullvad DNS (with optional blocking), or "custom" to use your own DNS servers. servers: List of DNS server IPs when mode is "custom". block_ads: Block ad domains (default DNS mode only). block_trackers: Block tracker domains (default DNS mode only). block_malware: Block malware domains (default DNS mode only). block_adult_content: Block adult content domains (default DNS mode only). block_gambling: Block gambling domains (default DNS mode only). block_social_media: Block social media domains (default DNS mode only). Returns: Current DNS settings after the change. |
| set_protocolA | Configure WireGuard tunnel protocol options. Note: Mullvad CLI 2026.1 is WireGuard-only. This tool configures WireGuard-specific options like quantum resistance and IPv6. Args: quantum_resistant: Enable quantum-resistant key exchange ("on" or "off"). ipv6: Enable IPv6 in the tunnel ("on" or "off"). Returns: Current tunnel settings after the change. |
| set_obfuscationA | Set anti-censorship / obfuscation mode. Controls how Mullvad disguises VPN traffic to bypass censorship. Args: mode: One of "auto", "off", "wireguard-port", "udp2tcp", "shadowsocks", "quic", or "lwo". Returns: Current anti-censorship settings after the change. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/oresam-xyz/mullvad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server