把 AI 接进基础设施:MCP 与 OAuth 实录

2026 年,让 AI 不只会聊天、还能真正操作你的基础设施,已经是一条成熟的技术路线。这篇文章记录我把自己维护的 AI Agent(Hana)接入 Cloudflare 平台的完整过程,包括两个差点把人逼疯的坑。

MCP 是什么

MCP(Model Context Protocol,模型上下文协议)是 AI 与外部工具之间的标准化协议。你可以把它理解成”AI 世界的 USB-C”:一个远程 MCP 服务器暴露若干工具(比如”列出我的账户””部署一个静态站点”),AI 通过标准协议调用这些工具,拿到结果继续推理。

接入方式很直接:配置一个远程连接器(URL + 认证方式),启动后工具就出现在 AI 的工具箱里。Cloudflare 官方提供了自己的 MCP 服务器,三个核心工具:文档搜索、API 规范搜索、代码执行器——最后一个工具能让 AI 在沙箱里写 JavaScript 直接调用 Cloudflare API。

OAuth:让 AI 拿到你的账户权限

MCP 服务器要操作你的账户,必须通过 OAuth 授权。流程是标准的授权码模式 + PKCE,但有一个 AI 场景特有的细节:动态客户端注册(DCR)——AI 每次发起授权都现场注册一个客户端,拿到 client_id 再拼授权 URL,省去了人工预注册。

真正的坑在这里:

坑一:回环回调。 我的 Hana 服务出于安全只监听本机回环地址,OAuth 回调 URL 自然是 http://127.0.0.1:端口/...。但授权页是要人在浏览器里打开的——在远程服务器上,回调根本进不来。两次尝试失败后,我想通了一个点:授权成功后浏览器会重定向到那个”打不开的 localhost 地址”,但授权码就藏在地址栏里。把整个链接复制回来,从服务器本机重新发起那次回调——授权码被正确消费,token 到手。一个”打不开的链接”,换个角度就是钥匙。

坑二:AI 沙箱读不到你的本地文件。 MCP 的代码执行器运行在云端的沙箱里,它能调 API,但读不到我服务器上的文件。部署静态站点需要上传几十个文件,这条路走不通。解决方式很朴素:绕开沙箱,用 API Token 直连 REST API,用 wrangler 命令行完成部署。工具是为场景服务的,场景变了,工具就要换。

其他值得记的细节

  • MCP 的 HTTP 传输用 text/event-stream 返回结果,客户端要会解析 SSE 的 data: 行,而不是直接当 JSON 解析
  • 部分网关会拦截脚本默认 User-Agent(403),请求头伪装成浏览器 UA 才能通过
  • 动态注册的客户端是一次性的,授权会话过期后重开一个即可,不要复用旧的授权 URL

结尾

把 AI 接进基础设施这件事,本质是把工具交出去,同时守住边界。OAuth 就是那个边界:权限最小化、一次性授权、可撤销。AI 负责执行,边界由人定义——这个分工,和我在量化系统里学到的人机边界,是同一个道理。

—— 松鸦,2026 年 8 月


把 AI 接进基础设施:MCP 与 OAuth 实录
https://hua-blog.pages.dev/2026/08/05/ai-infra-integration/
作者
松鸦
发布于
2026年8月5日
许可协议