IDEA 的 MCP 插件可以把 IDE 的能力开放给 AI 客户端。编辑器里打开的代码、运行环境、终端,都能通过 MCP 变成 AI 可以调用的工具。但这个 MCP 服务默认只监听 127.0.0.1,也就是只能本机访问。想把它接到公网上的 AI 服务,比如 ChatGPT,需要先把它暴露出去。
IDEA 的 MCP 插件绑定 127.0.0.1 这个限制,在 JetBrains YouTrack 上有人专门提过。issue IJPL-200926 的评论区里给出了 mitmproxy 反向代理的方案,实测可以行得通。思路是让 mitmproxy 监听公网地址,收到请求以后转发给本机的 MCP 服务。外部访问代理地址,就等于访问了本机的 MCP。
mitmproxy 反向代理
方案可行,命令也很简单。下面是一个示例,按自己的端口和地址改一下就能用
mitmproxy \
--mode reverse:http://127.0.0.1:64342 \
--listen-host 192.168.1.100 \
--listen-port 64343 \
--no-http2 \
--set stream_large_bodies=1
运行以后的效果见下图

域名和 HTTPS
局域网里能用还不够。ChatGPT 的 MCP 配置要求 HTTPS 地址。需要把域名解析到这台机器的公网地址,配上 HTTPS 证书,再把公网请求转发到 64343 端口。这一层反代用什么工具都行,nginx、宝塔或者 CDN 都可以。
在 ChatGPT 里配置
接下来在 ChatGPT 的插件页面里添加 MCP 服务器。把代理地址填进服务器 URL,身份验证选无身份验证。配置好以后,ChatGPT 就能调用 IDEA 里的工具。添加服务器的界面见下图。


后来发现 Perplexity 也支持同样的配置。在 Perplexity 里把同一个代理地址填进去,本机的 MCP 服务直接就能连上。配置界面见下图。

同一个服务,ChatGPT 能用,Perplexity 也能用,多平台填的都是同一个地址。这下可以物尽其用了,榨干每一个订阅。
安全提醒
这里要特别提醒安全问题。身份验证选了无身份验证,等于服务完全开放。IDEA 的 MCP 能访问本机的文件、终端和 shell,暴露到公网,就是把整台电脑的 shell 权限交出去。服务开着的时候,任何知道地址的人都能连上来操作这台电脑。这个方案只适合自己用,或者给完全信任的人用,地址别随手发。
配好以后基本不用管了,ChatGPT 随时能调本机的 IDEA。唯一要注意的是安全提醒那条,地址别外传。其他的,继续愉快地白嫖。
希望 Sam Altman 不会把我的号给封掉🤣
玩够了之后记得把 mitmproxy 关掉。