
目前AI-MCP几乎全部是通过npx运行
以往想让npx的MCP走代理,最简单的办法是开启TUN
这种方式又慢又费力,本质上还是得让Node.js走代理,但传统的基本上是劫持Node.js走流量,需要安装依赖库,分流也挺麻烦的
这个功能的背景源于一个已开放8年多的GitHub issue,显示社区对此功能的长期呼声
Joyee Cheung(实现者)在社区讨论中明确表示,这是继fetch支持后,同时为http/https内置模块添加的代理支持
在Node.js v22.21.0版本(2025-10-20)的更新当中终于正式更新了原生代理
那就是NODE_USE_ENV_PROXY环境变量
现在不需要复杂的代理逻辑,只需要加入NODE_USE_ENV_PROXY变量,值为1即可开启
配置一下HTTP_PROXY就可以让Node.js走代理了
很简单,只需两步
「环境变量」
Powershell/CMD
#1.开启原生支持的代理
setx NODE_USE_ENV_PROXY "1"
#2.配置HTTP_PROXY让Node.js读取到代理内容
setx HTTP_PROXY "http://127.0.0.1:代理端口号"
#3.可选项但不推荐,因为本地代理不需要走HTTPS,但是如果是公司代理可能需要配置HTTPSsetx HTTPS_PROXY "http://127.0.0.1:代理端口号"
Linux
#1.开启原生支持的代理
export NODE_USE_ENV_PROXY=1
#2.配置HTTP_PROXY让Node.js读取到代理内容
export http_proxy="http://127.0.0.1:代理端口号"
#3.可选项但不推荐,因为本地代理不需要走HTTPS,但是如果是公司代理可能需要配置HTTPSexport https_proxy="http://127.0.0.1:代理端口号"
重启软件,即可生效
补充知识点
HTTP_PROXY / HTTPS_PROXY:用于设置代理地址
NO_PROXY:用于设置哪些地址不走代理(相当于白名单)
实例:setx NO_PROXY "localhost,127.0.0.1"
版本要求:Node.js ≥ v22.21.0
消息来源:
更新日志:Node.js — Node.js 22.21.0 (LTS)
更新代号:[] bedaaa11fc
更新地址:[https://github.com/nodejs/node/commit/bedaaa11fc]
如果你觉得这句写得特别好,那是我写的。如果读起来怪怪的,那是AI写的。