mcpField
M

Mullvad VPN MCP Server

本地服务
github.com/oregansamuel3安全030 周前更新

关于 Mullvad VPN MCP Server

Mullvad VPN MCP Server 将 Mullvad VPN CLI 封装为 MCP 服务,供兼容 MCP 的客户端管理连接、服务器位置和隐私设置。它通过本机 CLI 执行操作,无需 API 调用或凭据。

主要功能

  1. 01连接、断开及重连 VPN
  2. 02查看连接状态并检查流量泄漏
  3. 03浏览并选择 VPN 服务器
  4. 04管理账户和设备信息
  5. 05配置锁定模式、DAITA 与多跳
  6. 06调整 DNS、协议及混淆设置

适用场景

  1. 01从 MCP 客户端切换 VPN 服务器位置
  2. 02确认连接状态及 VPN 防护情况
  3. 03启用锁定模式或 DNS 阻止选项
  4. 04查看账户设备与到期信息

MCP 相关

作为 MCP 服务,它向客户端提供 Mullvad VPN 连接控制、诊断、服务器选择、账户和设置工具。所有操作都通过本机 Mullvad CLI 执行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mullvad-mcp

一个 MCP(Model Context Protocol)服务,可通过任何兼容 MCP 的客户端控制 Mullvad VPN——包括 Claude Desktop、Cursor、Windsurf 等。

所有 VPN 操作均通过 mullvad CLI 完成。不直接调用 API,不解析配置文件,也不需要凭据。

前置条件

  • 已安装 Mullvad VPN 应用,且 CLI 位于 PATH 中
  • Python 3.11+
  • uv 包管理器——安装 uv

安装

git clone https://github.com/your-username/mullvad-mcp.git
cd mullvad-mcp
uv sync

客户端配置

Claude Desktop

添加到 ~/.config/claude-desktop/claude_desktop_config.json(Linux)或 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):

{
  "mcpServers": {
    "mullvad": {
      "command": "uv",
      "args": ["--directory", "/path/to/mullvad-mcp", "run", "mullvad-mcp"]
    }
  }
}
Cursor

添加到项目中的 .cursor/mcp.json,或全局配置文件 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mullvad": {
      "command": "uv",
      "args": ["--directory", "/path/to/mullvad-mcp", "run", "mullvad-mcp"]
    }
  }
}
通用 MCP 客户端(stdio)
{
  "mcpServers": {
    "mullvad": {
      "command": "uv",
      "args": ["--directory", "/path/to/mullvad-mcp", "run", "mullvad-mcp"],
      "transport": "stdio"
    }
  }
}

可用工具

连接控制
工具描述
connect连接 VPN,可指定国家/城市/主机名
disconnect断开 VPN 连接
reconnect重新连接,可选择新位置
状态与诊断
工具描述
get_status当前连接状态、服务、协议和 IP
check_leak查询 am.i.mullvad.net,验证 VPN 保护是否生效
服务选择
工具描述
list_countries所有可用国家及服务数量
list_cities指定国家的城市
list_servers按条件筛选服务(国家、城市、owned_only)
set_location按国家、城市或主机名设置首选位置
账户管理
工具描述
get_account_info屏蔽后的账号号码、到期日期
get_device_info已注册到该账号的设备
设置
工具描述
get_settings以结构化对象形式返回所有当前设置
set_killswitch启用/停用锁定模式
set_daita启用/停用 DAITA(流量分析防护)
set_multihop启用/停用多跳,可选择入口位置
set_dns设置 DNS:默认模式(含拦截选项)或自定义 IP
set_protocol配置 WireGuard 选项(抗量子、IPv6)
set_obfuscation设置反审查模式(auto/off/udp2tcp/shadowsocks 等)

交互示例

连接

“帮我连接到瑞典”

→ 调用 connect(country="se")——将中继设为瑞典并连接。

状态检查

“我的流量有泄漏吗?”

→ 调用 check_leak()——查询 am.i.mullvad.net,并报告流量是否通过 Mullvad 出口。

服务选择

“德国有哪些可用城市?”

→ 调用 list_cities(country="de")——返回柏林、法兰克福等城市及服务数量。

设置

“启用终止开关并拦截广告”

→ 先调用 set_killswitch(enabled=True),再调用 set_dns(block_ads=True)。

环境变量

变量默认值描述
MULLVAD_CLI_PATH自动检测覆盖 mullvad 二进制文件的路径
MULLVAD_CLI_TIMEOUT10CLI 命令超时时间,单位为秒

工作原理

所有工具都通过子进程调用 mullvad CLI。CLI 会原生处理身份验证——无需 API 密钥或密钥。输出会被解析为结构化字典,供大模型分析结果。

资源

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。