0%

OpenCode MCP Overview

OpenCode 本身擅长读代码、改文件、跑命令、解释报错;MCP 则让它在同一个终端会话里继续调用外部工具。AceData Cloud 把音乐、图片、视频、搜索、短链这些能力做成托管式远程 MCP Server,你不需要本地启动服务,也不需要为每个工具维护不同账号。

这篇是总览入口,重点帮你判断:OpenCode MCP 能做什么、该先接哪个服务、每个服务的详细教程在哪里。具体配置写法、Token 获取、global / project 两种位置的差异,放在下面每篇单服务文章里展开。

如果你的 OpenCode 还不能正常调用模型,请先看 OpenCode 终端配置教程。如果你想直接对接 Claude Code 而不是 OpenCode,请看 Claude Code MCP 总览

为什么要在 OpenCode 里接 MCP

OpenCode 是完全开源的终端编程 Agent,它的强项是”原生终端体验 + 任意模型可换”。接入 MCP 之后,它可以把”写完代码 → 补 README 配图 → 做发布素材 → 查参考资料 → 压短链分享”这一长串本来需要切换浏览器和工具的工作,全部在终端会话里完成。

和 IDE 类工具相比,OpenCode 更适合:

  • SSH 远程开发场景(无 GUI 也能完整使用 MCP)
  • 用脚本/CI 把 MCP 调用拼接进自动化流程
  • 喜欢键盘流、不希望被插件挡住屏幕的工程师

AceData Cloud 提供哪些 MCP Server

一个 AceData Cloud API Token 可以使用以下全部 MCP Server。你可以只接一个,也可以按工作流组合多个。

MCP Server 领域 适合做什么 工具数 OpenCode 教程
Suno AI 音乐 写歌、配乐、歌词、翻唱、续写、人声分离 35 查看教程
Midjourney AI 绘画 文生图、混图、放大、编辑、生成视频 16 查看教程
Flux AI 绘画 快速出图、商用级图片、Kontext 图片编辑 6 查看教程
Seedream AI 绘画 中文 prompt 出图、商品图、海报、图片编辑 6 查看教程
NanoBanana AI 图片编辑 商品换景、虚拟试衣、人物/物体一致性编辑 4 查看教程
Luma AI 视频 文生视频、图生视频、视频延伸、首尾帧控制 8 查看教程
Sora AI 视频 高质量文生视频、图生视频、角色一致性 10 查看教程
Veo AI 视频 Google Veo 视频、原生音频、1080p / 4K 12 查看教程
Seedance AI 视频 动作视频、短视频、配音、竖屏素材 7 查看教程
Google 搜索 实时搜索 Google 网页、图片、新闻、地图、视频搜索 11 查看教程
ShortURL 效率工具 长链转短链、批量短链、分享链接整理 4 查看教程

上表的「工具数」是 2026-05-31 用 opencode mcp list + JSON-RPC tools/list 实测得到,11 个 MCP Server 共暴露 119 个工具。

推荐怎么选

如果你只是想先确认 MCP 能跑通,建议从 Google 搜索 MCPShortURL MCP 开始:调用快、结果直观、成本低。做内容和营销素材时,可以从 Flux / Seedream / Midjourney 里选一个图像服务;需要视频时再接 Luma / Sora / Veo / Seedance;需要音乐或 BGM 时接 Suno

配置在哪里写

OpenCode 用同一份 opencode.json 描述供应商和 MCP。两种位置只是优先级不同:

  • 全局~/.config/opencode/opencode.json,所有项目共用,适合”我自己的机器,一次配好”。
  • 项目级:当前项目根目录下的 opencode.json,仅对该项目生效,会覆盖全局,适合团队共享或单仓库定制。

无论放在哪里,结构都是相同的,每个服务一段 mcp.<name> 配置:

1
2
3
4
5
6
7
8
9
10
11
12
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"shorturl": {
"type": "remote",
"url": "https://shorturl.mcp.acedata.cloud/mcp",
"enabled": true,
"oauth": false,
"headers": { "Authorization": "Bearer {env:ACEDATACLOUD_API_KEY}" }
}
}
}

字段说明:

字段 说明
type 固定为 remote,代表远程托管 MCP Server
url AceData 提供的对应服务地址
enabled 是否启用,临时关闭某个 MCP 时改成 false 即可
oauth 必须显式设为 false。AceData MCP 走 Bearer Token 鉴权,不走 OAuth;不写这一行时 OpenCode 会把 401 当成 OAuth 挑战,最终 opencode mcp listSSE error: Non-200 status code (401)
headers.Authorization Bearer <token>,推荐用 {env:ACEDATACLOUD_API_KEY} 占位符引用环境变量

{env:ACEDATACLOUD_API_KEY} 让 OpenCode 在启动时从环境变量里读取 Token,避免把真实 Token 直接写入文件。建议在 ~/.zshrc / ~/.bashrcexport ACEDATACLOUD_API_KEY="你的Token"。如果 Token 写在没有 export.env 文件里,需要用 set -a && source .env && set +a 把它导出到 OpenCode 进程,否则 opencode debug config 会显示 "Authorization": "Bearer "(占位符未解析)。

配置示例里不会写完整 Token,只会用类似 357265014ad145fc8ab2.... 的形式展示。真实 Token 请只保存在你本机配置或私有环境变量中。

真实连通性验证

以下结果来自 OpenCode 1.15.13,在隔离临时目录中把 11 个 AceData MCP 同时写入 opencode.json,再运行 opencode mcp list 得到。Token 已脱敏(357265014ad145fc8ab2....),临时配置已删除。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$ opencode --version
1.15.13

$ opencode mcp list

┌ MCP Servers

● ✓ suno connected
│ https://suno.mcp.acedata.cloud/mcp
● ✓ midjourney connected
│ https://midjourney.mcp.acedata.cloud/mcp
● ✓ flux connected
│ https://flux.mcp.acedata.cloud/mcp
● ✓ seedream connected
│ https://seedream.mcp.acedata.cloud/mcp
● ✓ nanobanana connected
│ https://nanobanana.mcp.acedata.cloud/mcp
● ✓ luma connected
│ https://luma.mcp.acedata.cloud/mcp
● ✓ sora connected
│ https://sora.mcp.acedata.cloud/mcp
● ✓ veo connected
│ https://veo.mcp.acedata.cloud/mcp
● ✓ seedance connected
│ https://seedance.mcp.acedata.cloud/mcp
● ✓ serp connected
│ https://serp.mcp.acedata.cloud/mcp
● ✓ shorturl connected
│ https://shorturl.mcp.acedata.cloud/mcp

└ 11 server(s)

调试单个 MCP 连接:

1
opencode mcp debug shorturl

选模型的实测建议

要在 OpenCode 中真正”对话 + 调用 MCP 工具”两件事一起做,模型选择有讲究。下面是用 AceData Token 实际测试得到的结论:

场景 推荐模型 说明
对话 + 大量 MCP 工具 acedatacloud/gpt-5-miniacedatacloud/gpt-5 实测可以正常发出工具调用,例如让 gpt-5 调用 shorturl_create 直接返回 https://surl.id/r/1uNdf1MEkM 短链
纯对话 / 阅读代码 / 不调用 MCP acedatacloud/claude-sonnet-4-6acedatacloud/claude-haiku-4-5-20251001 Claude 系列对自然语言任务表现更好
关掉 MCP、只做规划 acedatacloud/claude-opus-4-7 适合架构、重构方案的深度思考

已知限制:当 opencode.json 中同时启用多个 MCP 时,Claude 系列模型容易在上游返回 Improperly formed request。原因是部分 MCP 工具的 JSON Schema(anyOf 等用法)超出了 Anthropic 接口的严格校验范围。要让 Claude 同时对话 + 调用工具,建议先在 opencode.json 中把暂时不用的 MCP 的 enabled 改成 false,只保留必要的几个;或者直接换成 OpenAI 系列模型作为对话模型。

常见工作流

终端里写 README 顺手生图

让 OpenCode 先读懂你新功能的 README 草稿,再调用 Midjourney / Flux / Seedream 生成 banner,最后把图片 URL 直接贴回 README。

远程服务器排查问题 + 搜资料

SSH 到服务器后启动 opencode,让它结合本地日志和 Google 搜索 MCP 找到匹配的社区帖子或 issue,再用 ShortURL MCP 把相关链接压成短链发到群里。

发版素材一条龙

让 OpenCode 根据 CHANGELOG 用 Suno 写一段 30 秒 BGM、用 Veo / Sora 生成预览视频、用 Flux 出一张主视觉,整个过程不离开终端。

下一步

从上面的表格里选一个服务进入单独教程,先在项目 opencode.json 里跑通单服务。确认 opencode mcp list 显示 ✓ connected 后,再决定是否把它升级到全局 ~/.config/opencode/opencode.json,让所有项目都能直接调用。

相关链接