news 2026/8/30 10:41:38

Cloudflare Computer MCP部署实战:MCP_TOKEN安全配置与客户端接入完整流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cloudflare Computer MCP部署实战:MCP_TOKEN安全配置与客户端接入完整流程

Cloudflare Computer MCP部署实战:MCP_TOKEN安全配置与客户端接入完整流程

【免费下载链接】computerGive your agent a computer 👾项目地址: https://gitcode.com/GitHub_Trending/computer1/computer

Cloudflare Computer(computer)是一个"给 AI Agent 一台电脑"的开源项目:它用 Durable Object 承载持久化文件系统,并内置 Worker Shell 与 Linux 容器两种执行后端。本文带你把官方 MCP 示例部署到 Cloudflare,完成 MCP_TOKEN 安全配置,并把 AI 客户端成功接入,全程约 10 分钟。

一、Cloudflare Computer MCP 能做什么?

官方 examples/mcp 示例把一台"持久电脑"通过MCP(Model Context Protocol)协议暴露给 AI 客户端。它有三个特点:

  • 🖥️一个持久工作区:由 Durable Object 持有,文件跨会话保留,断电不丢;
  • 🛠️只暴露一个code工具:AI 通过 Code Mode 自主编写脚本来读写文件、执行命令,而不是面对几十个零散工具;
  • 🔀两种执行后端worker-shell(快速、隔离、无外网)与container-shell(完整 Debian Linux,按需启动)。

从架构上可以直观理解:Durable Object 里的 SQLite 是文件系统的数据源(source of truth),容器通过 FUSE 挂载看到同一份数据,container-shell执行命令前后都会做一次同步。项目完整设计说明可参考 docs/ 目录。

二、部署前准备:获取示例项目

MCP 示例是一个独立的 Worker 工程,关键文件如下:

文件作用
examples/mcp/src/index.tsWorker 入口 + Token 鉴权逻辑
examples/mcp/src/server.tsMCP 服务器与code工具注册
examples/mcp/wrangler.jsoncWorker、Durable Object、容器的部署配置
examples/mcp/Dockerfile构建container-shell用的 Linux 镜像

两种获取方式任选其一:

方式 A:C3 脚手架(推荐新手),在本地执行:

npm create cloudflare@latest computer-mcp -- \ --template=cloudflare/computer/examples/mcp

方式 B:克隆完整仓库

git clone https://gitcode.com/GitHub_Trending/computer1/computer

💡 环境要求:Node.js 20+;本地调试容器后端需要 Docker 守护进程正在运行。

三、一键部署:把 MCP 服务上线

从仓库根目录执行三条命令:

npm install npm run build --workspace @cloudflare/computer npm run deploy --workspace @example/computer-mcp

部署成功后会拿到一个https://<your-worker>.workers.dev域名。此时先别急着接入客户端——端点默认"失败关闭":只要还没配置 MCP_TOKEN,任何请求都会被拒绝(返回 503),这是刻意设计的安全默认值。

四、MCP_TOKEN 安全配置:最容易被忽略的一步

1. 生成一个强随机 Token

不要复用密码或随手拼字符串,用命令行生成 64 位十六进制随机值:

openssl rand -hex 32

2. 将 Token 存为 Worker 加密 Secret

从仓库克隆部署时,需要指定示例的配置路径:

npx wrangler secret put MCP_TOKEN --config examples/mcp/wrangler.jsonc

如果你是独立 C3 项目,直接执行npx wrangler secret put MCP_TOKEN即可。也可以在 Cloudflare 控制台对该 Worker 添加加密 Secret,效果相同。

3. 鉴权是如何保护你的?

看一下 examples/mcp/src/index.ts 中的鉴权实现,有三个值得学习的细节:

  • ⏱️时序安全比较:使用crypto.subtle.timingSafeEqual比对Authorization头,先比较长度、再逐字节对比,防止时序攻击;
  • 🔒失败关闭:Token 未配置返回503,Token 错误返回401并携带WWW-Authenticate: Bearer头,行为清晰可排错;
  • 🚫白名单路由:只有/mcp需要鉴权,/health免鉴权(方便监控),根路径/返回纯文本说明(端点地址、可用后端),其余路径一律 404。

4. 记住单用户安全模型

⚠️ 该示例刻意设计为单用户:所有鉴权后的请求都落在同一个 Durable Object 和同一份工作区。请妥善保管 MCP_TOKEN,不同信任边界(比如团队中不同成员)应各自部署一份独立实例。

五、MCP 客户端接入完整流程

1. 确定两个参数

参数
服务端点https://<your-worker>.workers.dev/mcp
请求头Authorization: Bearer <MCP_TOKEN>

2. 写入客户端配置

支持 JSON 配置的 MCP 客户端,条目通常长这样(文件名和格式因客户端而异):

{ "mcpServers": { "computer": { "type": "http", "url": "https://<your-worker>.workers.dev/mcp", "headers": { "Authorization": "Bearer <MCP_TOKEN>" } } } }

✅ 如果客户端提供密钥存储功能,请把 Token 存在那里,不要把真实 Token 提交进配置文件。

3. 验证接入是否成功

先在浏览器访问https://<your-worker>.workers.dev/,能看到端点地址和后端列表即说明服务在线;GET /health返回ok表示健康检查通过。然后在客户端里直接下指令试试:

Create /workspace/hello.txt, read it back, and list the workspace files.

如果看到 AI 成功创建、读取并列出文件,恭喜——你的 Computer MCP 已经跑通了!

六、上手使用:双后端怎么选?

客户端只会看到一个公开的code工具,模型会在其中调用codemode.read / write / edit / ls / find / grep / exec等函数操作工作区。exec时由模型选择后端(见 examples/mcp/src/server.ts 中的后端描述):

后端适用场景特点
worker-shell(默认)常规 shell 命令、快速查文件、文本处理在 Dynamic Worker 里跑 just-bash,启动极快、无环境外网;内置 Git 支持 HTTPS 远程仓库;不能跑 npm / Node / Python / 原生二进制
container-shell装依赖、构建、跑测试等完整 Linux 任务完整 Debian + Node.js/npm/git + 出站网络;容器按需启动,冷启动较慢

举个例子,想让 AI 在完整 Linux 环境里干活,可以这样说:

Use container-shell to create a small Node.js project in /workspace, install its dependencies, and run its tests.

容器只在真正选中container-shell时才启动,/workspace会在每次命令前后与 Durable Object 自动同步,所以两种后端看到的是同一份文件。

七、常见问题排查

现象原因与处理
请求返回503MCP_TOKEN 还没配置,按第四节设置 Worker Secret 后重试
请求返回401Bearer Token 缺失或不正确,检查客户端请求头
请求返回405MCP 端点只接受 POST 请求,检查客户端传输方式
后端命令失败错误会随codemode.exec()结果返回,并附带所选后端名

线上排障还有两个好帮手:curl https://<your-worker>.workers.dev/health快速验证连通性;用npx wrangler tail --config examples/mcp/wrangler.jsonc实时流式查看 Worker 与 Durable Object 日志。

八、写在最后

回顾一下完整流程:克隆模板 → 三条命令部署 → 生成随机 Token → 存为 Worker Secret → 客户端配置 Bearer 头 → 一句话验证。Cloudflare Computer 把"持久文件系统 + 双执行后端 + 单一 code 工具"打包成了对 AI 最友好的形态——Token 配好之后,你的 AI 助手就真正拥有了一台随时待命的电脑 🖥️

📚 延伸阅读:examples/mcp/README.md(含本地开发指南)、docs/(VFS、同步协议等设计文档)、docs/19_performance.md(文件系统性能基准)。

【免费下载链接】computerGive your agent a computer 👾项目地址: https://gitcode.com/GitHub_Trending/computer1/computer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 10:41:25

srt-slurm实战:GPU集群推理任务的编排与部署

NVIDIA 开源的 srt-slurm 编排推理部署&#xff0c;解决的不是“能不能在一张卡上跑推理”&#xff0c;而是“多卡、多节点、多次提交的推理任务怎么被统一调度和编排”。它把 Slurm 的资源管理能力和上层推理状态管理组合在一起&#xff0c;适合需要批量处理图像、文本、语音等…

作者头像 李华
网站建设 2026/8/30 10:39:42

自动交付上线配置如何收口

自动交付上线配置如何收口镜像成功推送、容器处于运行状态&#xff0c;并不表示应用拿到了正确配置。数据库凭据、地址、开关等变量分别散落在流水线、部署清单和集群对象中时&#xff0c;最容易出现配置漂移。 本文梳理自动交付中常见的漂移来源&#xff0c;并给出用版本化配置…

作者头像 李华
网站建设 2026/8/30 10:37:00

Windows in a Docker container 上手记:一条命令装出 Windows 11

Windows in a Docker container 上手记&#xff1a;一条命令装出 Windows 11 【免费下载链接】windows Windows inside a Docker container. 项目地址: https://gitcode.com/GitHub_Trending/wi/windows 项目里有个 .NET 应用必须在 Windows 上验证一遍&#xff0c;手边…

作者头像 李华
网站建设 2026/8/30 10:35:56

从热带水果到航空煤油:可持续航空燃料HEFA工艺全解析

航空业的减排压力越来越大&#xff0c;可持续航空燃料&#xff08;SAF&#xff0c;Sustainable Aviation Fuel&#xff09;成了绕不开的话题。最近一条新闻让这个赛道再次受到关注——“利用热带水果制造喷气燃料的项目获得了 30 亿美元资金支持”。很多人第一反应是&#xff1…

作者头像 李华
网站建设 2026/8/30 10:30:52

no-mistakes axi命令详解:AI代理的非交互TOON接口完全指南

no-mistakes axi命令详解&#xff1a;AI代理的非交互TOON接口完全指南 【免费下载链接】no-mistakes git push no-mistakes 项目地址: https://gitcode.com/GitHub_Trending/no/no-mistakes no-mistakes 是一款本地 Git 代码质量门禁工具&#xff0c;其 axi 命令&#x…

作者头像 李华