内容提要
OpenCode 可通过配置 Luma MCP Server 生成短视频,需先获取 Ace Data Cloud API Token 并写入环境变量。在 opencode.json 中设置远程 MCP 时,需显式声明 "oauth": false 以避免 401 错误。配置后可用自然语言调用文本生成视频、图生视频、视频延伸等 8 个工具,建议使用 OpenAI 系列模型以确保工具调用稳定。
延伸解读
配置要点:oauth 必须显式关闭
在 OpenCode 中配置远程 MCP 时,若使用 Bearer Token 鉴权,必须显式设置 "oauth": false。否则 OpenCode 默认将 401 响应视为 OAuth 挑战并自动重定向,导致连接失败,出现 SSE error: Non-200 status code (401)。显式关闭后,opencode mcp debug luma 会显示 OAuth explicitly disabled,表示配置生效。
模型选择影响工具调用稳定性
实测表明,在 OpenCode 中调用 Luma MCP 时,OpenAI 系列模型(如 gpt-5-mini、gpt-5)能稳定调用工具。而 Claude 系列模型通过 OpenAI 兼容接口暴露时,在挂载多个 MCP 的情况下常返回 Improperly formed request 错误。因此,若需频繁使用工具,建议优先选择 OpenAI 模型;仅对话时 Claude 模型可正常使用。
Token 安全与多服务复用
Ace Data Cloud 的 API Token 可同时用于其提供的全部 11 个 MCP Server,无需为 Luma 单独申请。但务必注意安全:推荐将 Token 写入环境变量,并在配置文件中使用 {env:ACEDATACLOUD_API_KEY} 占位符引用,避免将真实 Token 提交到公开仓库或截图。若 .env 未显式 export,需用 set -a && source .env && set +a 确保变量传递。
Q&A
如何在 OpenCode 中配置 Luma MCP Server 来生成视频?
首先获取 Ace Data Cloud API Token 并设置为环境变量 ACEDATACLOUD_API_KEY,然后在 opencode.json 中配置远程 MCP,指定 url 为 https://luma.mcp.acedata.cloud/mcp,并设置 headers 中的 Authorization 为 Bearer {env:ACEDATACLOUD_API_KEY},同时必须显式设置 "oauth": false。
为什么在 OpenCode 中配置 Luma MCP 时需要设置 oauth 为 false?
因为 AceData 的 MCP Server 使用 Bearer Token 鉴权,不走 OAuth 流程。如果不设置 oauth 为 false,OpenCode 默认会把 401 错误当作 OAuth 挑战并自动重定向,导致连接失败(SSE error: Non-200 status code (401))。显式设置后,OpenCode 会直接使用 Authorization: Bearer 调用。
Luma MCP Server 提供哪些工具?
Luma MCP Server 共暴露 8 个工具,主要包括 luma_generate_video(文本生成视频)、luma_generate_video_from_image(图生视频)、luma_extend_video(视频延伸)等。
在 OpenCode 中使用 Luma MCP 时,推荐使用哪些模型?
推荐使用 OpenAI 系列模型,如 acedatacloud/gpt-5-mini 或 acedatacloud/gpt-5,因为 Claude 系列模型通过 OpenAI 兼容接口暴露时,工具调用经常返回 Improperly formed request 错误。
如何验证 Luma MCP 在 OpenCode 中是否连接成功?
运行 opencode mcp list,如果看到 "luma connected" 即表示成功。也可以运行 opencode mcp debug luma 查看详细信息,成功时日志会显示 "OAuth explicitly disabled" 和 "toolCount=8"。
Luma MCP 适合哪些应用场景?
Luma MCP 适合生成产品 demo 短片、Banner 动效、社交媒体短视频,以及用图片驱动生成动画和视频延伸等场景。
如何安全地管理 Ace Data Cloud API Token?
建议将 Token 写入环境变量(如 ACEDATACLOUD_API_KEY),并在 opencode.json 中使用 {env:ACEDATACLOUD_API_KEY} 占位符引用,避免将真实 Token 写入文件或提交到 Git。同时,在文档和截图中只展示脱敏形式。