📘 Overview:OpenCode MCP Overview →
OpenAI 出品的 Sora 在写实视频和角色一致性上仍然是顶级水平,尤其适合做“高质量短片”和“用一张图驱动一段动作”。在 OpenCode 里接上 Sora MCP Server 之后,可以直接用自然语言或上传图片生成视频,完成度比传统文生视频明显更高。
Sora MCP 适合做高质量营销短片、品牌宣传素材、产品展示视频,以及“用一张设定图生成统一风格的多段视频”。
获取 API Token
使用 Sora MCP Server 之前,需要先准备一个 Ace Data Cloud API Token。OpenCode 和 Claude Code 共用一套 Token,获取流程一样:
- 打开 Ace Data Cloud 控制台 - 应用列表,获取您的 API Token,留作备用。
- 如果你尚未登录或注册,会自动跳转到登录页面;登录注册之后会自动返回当前页面。
- 首次申请时会有免费额度赠送,可以先免费体验 Sora MCP 服务。

一个 Token 可以使用 AceData Cloud 提供的全部 11 个 MCP Server,无需为 Sora 单独申请。文档和截图里建议只展示脱敏形式,例如 3b78cc40dd3b43db806a4300....,不要把完整 Token 贴到公开仓库、Issue、截图或聊天记录里。
想用 Claude Desktop / Claude.ai 网页版直接 OAuth 一键授权?请看 Sora MCP 的 Claude.ai / Desktop 教程。
配置 OpenCode
OpenCode 用一份 opencode.json 描述所有 MCP Server,文件可以放在两处,按下面”作用范围”选一种即可。两种位置的字段结构完全相同,区别只是优先级。
强烈推荐先把 Token 写到环境变量里:
1 |
export ACEDATACLOUD_API_KEY="替换为你的真实 Token" |
然后在 opencode.json 里用 {env:ACEDATACLOUD_API_KEY} 占位符引用,避免真实 Token 写进文件。
全局:所有项目共用
文件位置:~/.config/opencode/opencode.json,适合”我自己的机器,一次配好,所有项目都能用”。
1 |
{ |
⚠️
"oauth": false不可省略。AceData 的 MCP Server 使用 Bearer Token 鉴权,不走 OAuth 流程;OpenCode 默认会把 401 当成 OAuth 挑战自动重定向,导致opencode mcp list出现SSE error: Non-200 status code (401)。显式声明"oauth": false让 OpenCode 直接以Authorization: Bearer ...调用,opencode mcp debug sora也会回显OAuth explicitly disabled,代表生效。
项目级:仅当前项目生效
文件位置:当前项目根目录下的 opencode.json,会覆盖全局配置。适合团队共享、单仓库定制,或者只在某个项目里临时启用某个 MCP。
1 |
{ |
如果项目级 opencode.json 会被提交到 Git,请确保用 {env:ACEDATACLOUD_API_KEY} 占位符而不是真实 Token,避免泄露。
💡 如果 Shell 里的
.env没有显式export,需要用set -a && source .env && set +a才能把变量传给 OpenCode 进程,否则opencode debug config会显示"Authorization": "Bearer "(占位符没解析)。
真实运行结果
下面是在 OpenCode 1.15.13 里用隔离临时目录实际执行后的脱敏输出。命令使用真实 AceData Cloud Token,输出中的 Token 已替换成 357265014ad145fc8ab2....,临时配置已删除。
1 |
$ opencode --version |
看到 ✓ sora connected 就说明 Sora MCP 已经接入成功。如果显示 ✗ 或者 unauthorized,请检查 ACEDATACLOUD_API_KEY 是否设置、Token 是否复制完整、Authorization 前缀是否为 Bearer(注意大小写和空格)。
如需调试某一台 MCP 的连接细节:
1 |
opencode mcp debug sora |
实际握手成功后,OpenCode 的 INFO 日志会输出 service=mcp key=sora transport=StreamableHTTP connected 和 service=mcp key=sora toolCount=10 两行(实测 10 个工具),代表 Sora MCP 已经准备好被模型调用。
🤖 选模型的实测建议:在 OpenCode 里要真正让模型主动调用 Sora MCP,请优先使用 OpenAI 系列模型(如
acedatacloud/gpt-5-mini、acedatacloud/gpt-5)。AceData 上 Claude 系列模型通过 OpenAI 兼容接口暴露时,工具调用经常返回Improperly formed request(实测:acedatacloud/claude-haiku-4-5-20251001、acedatacloud/claude-sonnet-4-6在挂载多个 MCP 时均报这个错)。只做对话不调用工具时,Claude 模型可以正常使用。
典型场景
配置完成后,直接在 OpenCode 会话里用自然语言即可调用,无需先切到 /mcp:
高质量文生视频
1 |
生成一段 5 秒视频:日式咖啡馆的窗边,雨天,热咖啡冒着热气,电影质感 |
图生视频
1 |
把这张人物概念图(链接 xxx)变成短视频,让人物缓缓抬头微笑 |
高清横屏 / 竖屏
1 |
生成一段 HD 横屏的海浪拍岸慢动作视频 |
工具列表
下表列出主要工具(Sora MCP Server 实测共暴露 10 个工具,可通过 curl -X POST https://sora.mcp.acedata.cloud/mcp -H 'Authorization: Bearer <token>' -H 'Accept: application/json' -H 'Content-Type: application/json' --data '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' 获取完整清单):
| 工具 | 说明 |
|---|---|
| sora_generate_video | 文本生成视频 |
| sora_generate_video_from_image | 图片生成视频 |