腾讯云COS MCP Server + CodeBuddy:从idea到上线的完整配置链路

发布时间:2026/9/29 6:44:20

腾讯云COS MCP Server + CodeBuddy:从idea到上线的完整配置链路 1. 从一句抱怨到可访问页面这条链路到底卡在哪腾讯云 COS MCP Server 加 CodeBuddy 这套组合能做的事很具体让 AI 直接读写你的对象存储把生成的页面一键发布到 EdgeOne Pages拿到一个公开可访问的 URL。适合谁适合手里有原型想法、但不想为了一次演示去搭完整前后端的人也适合想把「上传、展示、删除」这类对象存储操作交给自然语言来驱动的开发者。我这次的目标很明确做一个图片管理页面支持上传图片到腾讯云 COS、展示已上传图片、删除指定图片最后通过 EdgeOne Pages 发布成线上可访问的链接。听起来三步就能搞定实际做下来真正耗时间的不是写页面而是让页面在浏览器里稳定地调到 COS MCP Server。整条链路里最容易出问题的有三个点一是 CodeBuddy 里 MCP Server 的配置骨架SecretId、SecretKey、Bucket、Region 少一个都跑不起来二是页面直接调用 MCP 工具时的连接方式stdio 模式在浏览器里根本用不了必须换成 SSE三是本地页面和 SSE 服务之间的跨域不处理就是一堆 Failed to fetch。下面按我实际跑通的顺序拆开讲配置可以直接抄排障部分是我踩过的坑你可以对照着看。2. 前置准备密钥、存储桶与两个 MCP Server在 CodeBuddy 里配置 MCP Server 之前得先把腾讯云侧的凭证和存储资源准备好。这一步不难但顺序别乱。2.1 拿到 SecretId 和 SecretKey进入腾讯云访问管理控制台左侧菜单找到 API 密钥管理点新建密钥。弹窗里会生成一对 SecretId 和 SecretKey点复制保存下来。这两个值相当于你访问 COS 的账号密码后面配置 MCP Server 时要用。注意SecretKey 只在创建时完整显示一次关掉弹窗就看不到了。建议直接存到密码管理器里别随手丢在聊天记录。2.2 创建 COS 存储桶访问存储桶列表点创建存储桶。输入一个全局唯一的存储桶名称选一个离你近的地域比如 ap-beijing其余配置保持默认即可。创建完成后点进存储桶的概览页记下两个信息存储桶名称形如 bucket-1302073945和所属地域形如 ap-beijing。这两个值会写进 MCP 配置。2.3 在 CodeBuddy 里装 COS MCP Server回到 CodeBuddy 对话页点 MCP进入 MCP 市场搜索腾讯云 COS MCP Server点安装。配置页里填入 Bucket、Region、SecretId、SecretKeyDatasetName 是数据智能检索用的做图片管理可以不填。保存后COS MCP Server 就出现在你的 MCP 列表里了。2.4 配置 EdgeOne Pages MCP ServerPages MCP Server 负责把页面部署到 EdgeOne Pages 并返回公开链接。它需要一个 API Token。登录 EdgeOne Pages 控制台左侧切到 Pages再进 API Token 页面点创建 API Token填个描述、选个过期时间提交后复制生成的 Token。然后打开 CodeBuddy 的 MCP 配置文件把两个 Server 都写进去。完整骨架如下{ mcpServers: { TencentCloudCOSMCPServer: { command: npx, args: [cos-mcp], env: { Bucket: bucket-1302073945, DatasetName: , Region: ap-beijing, SecretId: 你的SecretId, SecretKey: 你的SecretKey } }, edgeone-pages-mcp-server: { command: npx, args: [edgeone-pages-mcp], env: { EDGEONE_PAGES_API_TOKEN: 你的API令牌 } } } }保存后MCP 列表里两个 Server 都应该是可调用状态。你可以点 COS MCP Server 右侧的三角按钮CodeBuddy 会自动跑一条验证对话把常用工具的状态列出来。3. 可复制配置从 stdio 切到 SSE 模式上面那份配置用的是 stdio 模式在 CodeBuddy 对话框里调用没问题但页面里的 JavaScript 没法直接调它。这就是我第一次上传图片报 Failed to fetch 的根因——页面请求的是一个浏览器根本连不上的本地进程。解决办法是让 cos-mcp 以 SSE 模式跑起来暴露一个 HTTP 端点给页面用。3.1 全局安装 cos-mcp在终端执行npm install -g cos-mcplatest3.2 以 SSE 模式启动cos-mcp \ --Regionap-beijing \ --Bucketbucket-1302073945 \ --SecretId你的SecretId \ --SecretKey你的SecretKey \ --DatasetName \ --port3001 \ --connectTypesse启动后服务会监听 3001 端口SSE 端点是http://localhost:3001/sse。页面里就可以用 EventSource 去连它了。3.3 页面侧的关键改动原来的 script.js 里加载图片、上传、删除都是通过 CodeBuddy 的 MCP 通道走的页面里调不到。改成直接请求 SSE 端点function connectSSE() { return new Promise((resolve, reject) { const sseUrl new URL(http://localhost:3001/sse); sseUrl.searchParams.set(action, getBucket); sseUrl.searchParams.set(prefix, images); const sse new EventSource(sseUrl); sse.addEventListener(initialData, (event) { try { const result JSON.parse(event.data); updateGallery(result.Contents); sse.close(); resolve(result); } catch (e) { sse.close(); reject(e); } }); sse.onerror () { sse.close(); reject(new Error(SSE连接错误)); }; setTimeout(() { sse.close(); reject(new Error(SSE连接超时)); }, 10000); }); }上传和删除同理把 action 换成 putObject、deleteObject参数通过 query string 传。图片展示直接用 COS 的公开访问 URL 拼接const imageUrl https://bucket-1302073945.cos.ap-beijing.myqcloud.com/${encodeURIComponent(imageKey)};3.4 本地起个静态服务页面直接双击打开是 file:// 协议SSE 请求会被浏览器拦。用 live-server 起个本地服务npm install -g live-server cd D:/2024code/image-maneger live-server --port8080然后通过http://127.0.0.1:8080/访问。如果还是报跨域让 CodeBuddy 帮你加 CORS 头或者在 cos-mcp 启动参数里确认允许的来源。4. 验证请求一次端到端上传配置改完后别急着发布先在本地验证一遍完整链路。打开http://127.0.0.1:8080/按 F12 打开控制台。选一张图片点上传。控制台里应该能看到一条 SSE 连接建立然后返回 uploadComplete 事件。上传成功后页面会自动重新加载图片列表新图片出现在画廊里。如果上传成功但列表没刷新检查 loadImages 是不是在上传回调里被调用了。我当时的写法是在 uploadImage 的 resolve 之后手动调了一次 loadImages确保列表同步。验证通过后在 CodeBuddy 对话框里输入使用 edgeone-pages-mcp-server 发布页面CodeBuddy 会调用 Pages MCP Server把当前页面部署上去并返回一个公开 URL。复制这个 URL 到浏览器打开如果图片能正常加载、上传和删除都能用说明整条链路通了。提示发布后的页面调用的还是你本地的http://localhost:3001/sse所以线上页面要能访问你的本地 SSE 服务得一直开着。如果想让线上页面独立运行需要把 SSE 服务也部署到一台公网可访问的机器上。5. 本篇常见错排查5.1 上传失败Failed to fetch这是最常见的报错原因基本是页面在调 stdio 模式的 MCP Server。浏览器只能发 HTTP 请求连不上本地进程。换成 SSE 模式确认http://localhost:3001/sse在浏览器里能打开。5.2 加载图片报 405 MethodNotAllowed这个错误说明请求打到了 COS 的根路径而不是具体的对象。检查拼接 URL 时有没有把 objectKey 带上以及 getBucket 返回的 Contents 里 Key 字段是否正确。我遇到过一次是因为 prefix 参数写成了images而不是images/导致返回的 Key 不带目录前缀。5.3 SSE 连接超时EventSource 默认会一直重连但如果服务没起来或者端口被占就会一直超时。先在终端确认 cos-mcp 进程还在跑再检查 3001 端口有没有被其他程序占用。另外CodeBuddy 对话框里执行命令时可能会把你手动开的终端截断建议 SSE 服务单独开一个终端窗口跑别让 AI 去管它。5.4 跨域报错 CORS本地页面在 8080SSE 服务在 3001端口不同就是跨域。让 CodeBuddy 在 cos-mcp 启动参数里加允许来源或者用 live-server 的代理功能把/sse转发到 3001。最省事的办法是让 CodeBuddy 自动配置你把控制台的报错原文贴给它就行。5.5 发布后页面空白EdgeOne Pages 部署的是静态文件如果 script.js 里的请求地址还是 localhost线上访问时浏览器会去连访问者自己的 localhost当然连不上。要么把 SSE 服务部署到公网要么在发布前把请求地址改成公网地址。6. 把想法落成线上页面的下一步这套链路跑通之后最顺手的用法其实不是页面而是在 CodeBuddy 对话框里直接用自然语言调 MCP 工具。比如输入「获取文件列表」它会自动调 COS MCP Server 的 getBucket把结果列出来。对于日常的存储操作这比写代码快得多。如果你打算长期用这套组合做编码和 Agent 任务可以了解下 Coding Plan它把模型调用和工具链的额度打包在一起适合高频使用场景https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding_plan想先试试模型对话能力可以直接进模型对话页https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel_chat接入文档和 API Keys 管理在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc我自己的经验是MCP Server 在对话框里的调用很流畅但一旦涉及浏览器页面直连问题就会成倍出现。如果只是做演示用 Pages MCP Server 发布静态页面加对话框调 COS 就够了如果要做成产品还是老老实实走传统 API 网关更稳。
延伸阅读

更多相关文章

2026/9/29 6:44:20

Claude Code 介绍:用 TaoToken 统一 Key 打通 CLI AI 编程工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/29 6:44:20

小小小工具配 TaoToken:settings.json 骨架与连通性验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/29 7:39:22

从设计规范到AI生成:测试用例资产化的关键实践

1. 为什么多数测试用例写着写着就“废”了我见过太多项目组把测试用例当成一个“交付物”来凑:需求评审完了,测试经理排个deadline,测试工程师花两三天把用例铺满Excel,领导一看数量不少,归档。然后呢?开发…

2026/9/29 7:39:22

软件测试面试题高频考点解析:从测试思维到项目实战

“软件测试面试题”这五个字,大概是测试从业者搜索频率最高的关键词了。我干了十年测试,当过候选人,也做过面试官,见过太多人捧着“100道题背答案”,结果一问项目就露馅。这里先把话说透:面试题从来不是考你…

2026/9/29 7:34:22

代码审计中常见的伪漏洞,SRC 提交前快速排查

代码审计中常见的伪漏洞,SRC 提交前快速排查 摘要 很多白帽在源码审计挖到疑似漏洞,兴冲冲提交到 SRC,结果被厂商判定为伪漏洞、无法复现、误报,浪费大量时间。伪漏洞指代码片段看起来存在安全风险,但受业务逻辑、参…

2026/9/28 3:03:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/28 6:05:15

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 7:00:49

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 0:04:04

AI Evals实战指南:从零搭建LLM应用评估体系与CI/CD集成

1. 为什么AI Evals值得你花时间搞明白做LLM应用的人,迟早会撞上同一堵墙:模型输出飘忽不定,今天答得好好的,明天换个问法就胡说八道。你改了一版提示词,感觉好像好了点,但到底好了多少?说不清。…

2026/9/29 0:04:04

Java采购管理系统实战:从数据库设计到事务一致性

简介:这是一套面向Java Web初学者与课程设计者的采购管理系统完整源码,采用JSP技术搭建,配合MySQL数据库,用于解决企业采购信息的管理问题,适合作为毕业设计、课程大作业或进销存类项目的参考模板。系统实现了用户登录…

2026/9/29 3:53:39

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/29 6:36:14

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑