稳定远程 URL
当远程 MCP client 每天都需要使用同一个 HTTPS URL,而 Coding Tools MCP 仍然运行在你的本地机器上时,使用这个教程。 稳定域名解决的是一个问题:client 配置可以保持不变。它不会自动变成多人公用 relay,也不会自动发现每个开发者的电脑。“一个 URL”有两种含义
常见设计有两类:- 个人稳定 URL:一个开发者本地运行 Coding Tools MCP,通过 ngrok、Cloudflare Tunnel、devtunnel 或其他反向 tunnel,把
https://mcp.example.com/mcp这样的稳定 hostname 映射到本机。 - 面向多用户的托管 relay:一个单独服务负责用户认证、设备注册、本地 agent 出站连接,并把每个请求路由到正确的 workspace。
推荐 hostname 结构
把 MCP 流量放到子域名,不要直接放 apex domain:选择鉴权模式
如果 MCP client 支持 OAuth 2.1 Authorization Code + PKCE discovery,优先使用 OAuth:Authorization header 时,才使用 bearer auth:
/mcp 上检查的是 Authorization: Bearer <token> header。
ngrok reserved domain
先在 ngrok 里保留一个域名,然后让 Coding Tools MCP 绑定本机端口,再让 ngrok 指向这个端口。 终端 1:Cloudflare named tunnel
创建 named tunnel,并把 DNS hostname 路由到它。然后让这个 hostname 转发到本机 Coding Tools MCP 端口。 一次性设置:demo 用 quick tunnel
临时测试时,可以用仓库脚本安装 package、启动本地 server 并暴露 tunnel:验证 URL
把BASE_URL 替换为不带 /mcp 的 tunnel origin:
安全注意事项
- 让 Coding Tools MCP 保持绑定
127.0.0.1,只暴露 tunnel URL。 - 远程会话先用
--tool-profile read-only,除非你明确需要写入工具。 - 所有非 loopback 部署都使用 OAuth 或 bearer auth。
full加exec_command等价于在配置的 workspace 边界内暴露远程代码执行能力。- 测试结束后停止 tunnel;如果 token 或 OAuth secret 被分享过,及时轮换。