chatgpt使用自建mcp插件和openai的tunnel做开发
chatgpt使用自建mcp插件和openai的tunnel做开发
Wang Shuai引言
最近AI使用频繁;因此开通了日区GPT Plus;本来之前还研究怎么优化每次Codex的5小时限额;上周 Tibo就宣布把5小时限额去掉
这就导致周额度相形见绌了;前天把额度用完后就在研究其它的方法;传奇程序员不能就这样下线啊;
正巧看到L站的一篇文章:通过 Coding Tools MCP 最大化利用 GPT 订阅额度,解决额度焦虑
本文介绍我实践出的简易临时使用GPT Web开发本地项目的方法; 路径与上文有些不同
解决方案
解决方案和L站文章介绍的方法类似;都是使用GPT Web端的插件功能
一句话总结:
使用开发人员模式,自建一个可以访问本地文件的MCP服务,通过GPT官方隧道(tunnel) 让AI可以直接读写本地指定的文件达到本地开发的目的
新版方案-纯文件访问
我对上面的方案持保留态度
因为我小号用这个方案账号被封了;我只能猜测大概率是这个原因
因此我决定不使用官方的tunnel(我觉得可能是因为官方tunnel会调用官方API接口导致账号出问题)
因此我又研究出了用cloudflare tunnel穿透的方法(PS:我本来也做了公开MCP服务的方法;但没CF的网络加持总是time out)
此处只说明和下面流程不同的地方:
- 使用支持Oauth认证的
MCP proxy
这里使用的工具是:mcp-auth-proxy
GPT官方隧道(tunnel) 不仅实现了http访问;还加了自己的API鉴权;
modelcontextprotocol/server-filesystem不支持直接Http访问;因此需要加一个OAuth 2.1/OIDC gateway
**mcp-auth-proxy**不仅是mcp代理,还集成了MCP所需的认证功能;比如GPTMCP支持的DCR(动态客户端注册);没有这个功能的话就需要同时用tunnel转发MCP Server以及Oauth认证服务
我测试OK的命令是:
1 | D:\Tools\mcp-auth-proxy.exe ` |
- 在CF的Tunnels中配置一个本机路由(到
your-domain)的应用
确保直接公网访问会报401
- ChatGpt的插件直接使用
OAuth身份认证
地址填your-domain/mcp
点击高级OAuth设置的时候会自动识别出认证授权路由
创建成功后点击连接,会自动跳转PocketId;最后点击页面Auth即可连接成功
支持完整开发能力的单MCP服务方案
上面的MCP服务modelcontextprotocol/server-filesystem只能让AI支持访问一个PC的文件夹(可以多目录),一个mcp-auth-proxy.exe对应一个MCP服务
除了文件访问,开发时还需要的一大功能是命令执行;我又找到另一个集成专为开发服务的MCP服务:
它的介绍是给Claude使用,实际也很配ChatGPT Web
因此,本地执行命令就变成了:
1 | D:\Tools\mcp-auth-proxy.exe ` |
PS:同理,后面的GPT官方隧道(tunnel),也可以换这个@wonderwhy-er/desktop-commander@latest
这个启动命令不能设置允许访问的文件;但可以直接在AI中设置;
在ChatGPT网页端配置完成后,直接对AI说 修改配置即可
MCP测试连通性时,推荐POSTMAN
下面是之前使用官方tunnel的保留方案:
旧版原生 OpenAI API Tunnels方案
经测试,免费用户也可以这样做
不过免费用户不能使用高级模型;意义不大
操作步骤
开启开发人员模式
打开https://chatgpt.com/,点击左下角头像:设置→账户安全与登录→打开开发人员模式
创建GPT隧道(tunnel)
打开OpenAI API平台:设置中的Tunnels - OpenAI API
创建一个tunnel,复制好它的ID tunnel_6axxxx备用;
点击Download tunnel-client去Github上下载最新的客户端备用
创建隧道专用APIKey
还是OpenAI API平台:设置中的API keys - OpenAI API
创建一个专用的APIKEY权限勾选Tunnels的Read Use;Project选Defalt project
复制生成的sk-proj-IEAXXXX 这样的APIKey备用
本地连接隧道
下载好前面提到的tunnel-client.zip后解压开;在你期望MCP访问的目录;按住shift右键,点击在此处运行powershell
由于ChatGPT不能直连;因此还需要配置socket代理
文件路径不知道有什么问题;我发现只能用相对路径,
填入备用的API Key和tunnel id后执行以下命令
1 | # OpenAI 控制面走代理 |
假如有什么不懂或报错直接问ChatGPT
执行成功后打开网页:http://127.0.0.1:8080
正常右上角会显示Health:live和Ready:ready
新建MCP插件(Plugin)
回到GPT Web打开插件页面;点击右边的+新增插件
注意:要先执行前面的命令,本地启动MCP服务之后再创建Plugin
隧道选择刚刚创建的
身份验证我直接用的none(未授权)
勾选下方的我了解并希望继续
创建成功后点击连接;
后续就可以在插件中看到已安装的个人插件
也可以在设置的插件中查看
在ChatGPT Web端的插件中;如果能看到MCP支持的操作;则表明一切成功;如果看不到可以点击右上角设置→重新连接
测试
在ChatGPT web上新开一个聊天;选择个人插件让它调用MCP返回文件列表测试最终结果
恭喜你,学会了ChatGPT的插件开发!
注意事项
添加插件报错:
创建连接器时出错1
Something went wrong. If this issue persists please contact us through our help center at help.openai.com
遇到这个错误,就是前面说的;MCP插件无法通过tunnel连接到服务器导致的;
解决方法就是先执行tunnel-client.exe run命令创建好MCP服务再添加插件
通过F12检查:https://chatgpt.com/backend-api/aip/connectors/mcp的response返回:
1 | { |
即可知道原因
- 每次断开
tunnel客户端后假如遇到访问问题
在设置→插件→选择个人插件→右上角菜单→重新连接
- 要是还遇到什么奇怪的问题,可以把GPT的MCP插件删了重新添加














