Skip to main content
Glama

SoraMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

一个用于 AI 视频生成的 Model Context Protocol (MCP) 服务器,通过 AceDataCloud API 使用 Sora

直接从 Claude、VS Code 或任何兼容 MCP 的客户端生成 AI 视频。

功能特性

  • 文生视频 (Text-to-Video) - 根据文本描述生成视频

  • 图生视频 (Image-to-Video) - 动画化图像并根据参考图创建视频

  • 角色视频 (Character Videos) - 在不同场景中复用角色

  • 异步生成 (Async Generation) - 用于生产工作流的 Webhook 回调

  • 多种方向 (Multiple Orientations) - 横屏和竖屏视频

  • 任务追踪 (Task Tracking) - 监控生成进度并获取结果

工具参考

工具

描述

sora_generate_video

使用 Sora 根据文本提示生成 AI 视频。

sora_generate_video_from_image

使用 Sora 根据参考图像生成 AI 视频(图生视频)。

sora_generate_video_with_character

生成包含参考视频中角色的 AI 视频。

sora_generate_video_async

异步生成 AI 视频并接收回调通知。

sora_generate_video_v2

使用 Sora 第二版(合作伙伴通道)生成 AI 视频。

sora_generate_video_v2_async

使用 Sora 第二版异步生成 AI 视频并接收回调。

sora_get_task

查询视频生成任务的状态和结果。

sora_get_tasks_batch

同时查询多个视频生成任务。

sora_list_models

列出所有可用的 Sora 模型及其功能。

sora_list_actions

列出所有可用的 Sora API 操作及对应工具。

快速入门

1. 获取您的 API Token

  1. AceDataCloud 平台 注册

  2. 前往 API 文档页面

  3. 点击 “Acquire” 获取您的 API token

  4. 复制该 token 以供下方使用

2. 使用托管服务器(推荐)

AceDataCloud 托管了一个受管理的 MCP 服务器 —— 无需本地安装

端点: https://sora.mcp.acedata.cloud/mcp

所有请求都需要 Bearer token。请使用第 1 步中的 API token。

Claude.ai

通过 OAuth 直接在 Claude.ai 上连接 —— 无需 API token

  1. 前往 Claude.ai 设置 → 集成 → 添加更多

  2. 输入服务器 URL:https://sora.mcp.acedata.cloud/mcp

  3. 完成 OAuth 登录流程

  4. 开始在对话中使用这些工具

Claude Desktop

添加到您的配置中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "sora": {
      "type": "streamable-http",
      "url": "https://sora.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cursor / Windsurf

添加到您的 MCP 配置(.cursor/mcp.json.windsurf/mcp.json):

{
  "mcpServers": {
    "sora": {
      "type": "streamable-http",
      "url": "https://sora.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

VS Code (Copilot)

添加到您的 VS Code MCP 配置(.vscode/mcp.json):

{
  "servers": {
    "sora": {
      "type": "streamable-http",
      "url": "https://sora.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

或者为 VS Code 安装 Ace Data Cloud MCP 扩展,该扩展集成了所有 15 个 MCP 服务器,支持一键设置。

JetBrains IDEs

  1. 前往 设置 → 工具 → AI Assistant → Model Context Protocol (MCP)

  2. 点击 添加HTTP

  3. 粘贴:

{
  "mcpServers": {
    "sora": {
      "url": "https://sora.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Claude Code

Claude Code 原生支持 MCP 服务器:

claude mcp add sora --transport http https://sora.mcp.acedata.cloud/mcp \
  -h "Authorization: Bearer YOUR_API_TOKEN"

或者添加到项目的 .mcp.json 中:

{
  "mcpServers": {
    "sora": {
      "type": "streamable-http",
      "url": "https://sora.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cline

添加到 Cline 的 MCP 设置(.cline/mcp_settings.json):

{
  "mcpServers": {
    "sora": {
      "type": "streamable-http",
      "url": "https://sora.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Amazon Q Developer

添加到您的 MCP 配置:

{
  "mcpServers": {
    "sora": {
      "type": "streamable-http",
      "url": "https://sora.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Roo Code

添加到 Roo Code 的 MCP 设置:

{
  "mcpServers": {
    "sora": {
      "type": "streamable-http",
      "url": "https://sora.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Continue.dev

添加到 .continue/config.yaml

mcpServers:
  - name: sora
    type: streamable-http
    url: https://sora.mcp.acedata.cloud/mcp
    headers:
      Authorization: "Bearer YOUR_API_TOKEN"

Zed

添加到 Zed 的设置(~/.config/zed/settings.json):

{
  "language_models": {
    "mcp_servers": {
      "sora": {
        "url": "https://sora.mcp.acedata.cloud/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_TOKEN"
        }
      }
    }
  }
}

cURL 测试

# Health check (no auth required)
curl https://sora.mcp.acedata.cloud/health

# MCP initialize
curl -X POST https://sora.mcp.acedata.cloud/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

3. 或者本地运行(替代方案)

如果您更喜欢在自己的机器上运行服务器:

# Install from PyPI
pip install mcp-sora
# or
uvx mcp-sora

# Set your API token
export ACEDATACLOUD_API_TOKEN="your_token_here"

# Run (stdio mode for Claude Desktop / local clients)
mcp-sora

# Run (HTTP mode for remote access)
mcp-sora --transport http --port 8000

Claude Desktop (本地)

{
  "mcpServers": {
    "sora": {
      "command": "uvx",
      "args": ["mcp-sora"],
      "env": {
        "ACEDATACLOUD_API_TOKEN": "your_token_here"
      }
    }
  }
}

Docker (自托管)

docker pull ghcr.io/acedatacloud/mcp-sora:latest
docker run -p 8000:8000 ghcr.io/acedatacloud/mcp-sora:latest

客户端使用各自的 Bearer token 进行连接 —— 服务器会从每个请求的 Authorization 标头中提取 token。

可用工具

视频生成

工具

描述

sora_generate_video

根据文本提示生成视频

sora_generate_video_from_image

根据参考图像生成视频

sora_generate_video_with_character

生成包含参考视频中角色的视频

sora_generate_video_async

生成带有回调通知的视频

任务

工具

描述

sora_get_task

查询单个任务状态

sora_get_tasks_batch

同时查询多个任务

信息

工具

描述

sora_list_models

列出可用的 Sora 模型

sora_list_actions

列出可用的 API 操作

使用示例

根据提示词生成视频

User: Create a video of a sunset over mountains

Claude: I'll generate a sunset video for you.
[Calls sora_generate_video with prompt="A beautiful sunset over mountains..."]

根据图像生成

User: Animate this image of a city skyline

Claude: I'll bring this image to life.
[Calls sora_generate_video_from_image with image_urls and prompt]

基于角色的视频

User: Use the robot character in a new scene

Claude: I'll create a new scene with the robot character.
[Calls sora_generate_video_with_character with character_url and prompt]

可用模型

模型

最大时长

质量

功能

sora-2

15 秒

良好

标准生成

sora-2-pro

25 秒

最佳

更高质量,更长视频

视频选项

尺寸:

  • small - 低分辨率,生成速度更快

  • large - 高分辨率(推荐)

方向:

  • landscape - 16:9(YouTube,演示文稿)

  • portrait - 9:16(TikTok,Instagram Stories)

时长:

  • 10 秒 - 所有模型

  • 15 秒 - 所有模型

  • 25 秒 - 仅限 sora-2-pro

配置

环境变量

变量

描述

默认值

ACEDATACLOUD_API_TOKEN

AceDataCloud 的 API token

必需

ACEDATACLOUD_API_BASE_URL

API 基础 URL

https://api.acedata.cloud

ACEDATACLOUD_OAUTH_CLIENT_ID

OAuth 客户端 ID(托管模式)

ACEDATACLOUD_PLATFORM_BASE_URL

平台基础 URL

https://platform.acedata.cloud

SORA_DEFAULT_MODEL

默认模型

sora-2

SORA_DEFAULT_SIZE

默认视频尺寸

large

SORA_DEFAULT_DURATION

默认时长(秒)

15

SORA_DEFAULT_ORIENTATION

默认方向

landscape

SORA_REQUEST_TIMEOUT

请求超时(秒)

3600

LOG_LEVEL

日志级别

INFO

命令行选项

mcp-sora --help

Options:
  --version          Show version
  --transport        Transport mode: stdio (default) or http
  --port             Port for HTTP transport (default: 8000)

开发

设置开发环境

# Clone repository
git clone https://github.com/AceDataCloud/SoraMCP.git
cd SoraMCP

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or `.venv\Scripts\activate` on Windows

# Install with dev dependencies
pip install -e ".[dev,test]"

运行测试

# Run unit tests
pytest

# Run with coverage
pytest --cov=core --cov=tools

# Run integration tests (requires API token)
pytest tests/test_integration.py -m integration

代码质量

# Format code
ruff format .

# Lint code
ruff check .

# Type check
mypy core tools

构建与发布

# Install build dependencies
pip install -e ".[release]"

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

项目结构

SoraMCP/
├── core/                   # Core modules
│   ├── __init__.py
│   ├── client.py          # HTTP client for Sora API
│   ├── config.py          # Configuration management
│   ├── exceptions.py      # Custom exceptions
│   ├── server.py          # MCP server initialization
│   ├── types.py           # Type definitions
│   └── utils.py           # Utility functions
├── tools/                  # MCP tool definitions
│   ├── __init__.py
│   ├── video_tools.py     # Video generation tools
│   ├── task_tools.py      # Task query tools
│   └── info_tools.py      # Information tools
├── prompts/                # MCP prompt templates
│   └── __init__.py
├── tests/                  # Test suite
│   ├── conftest.py
│   ├── test_client.py
│   ├── test_config.py
│   ├── test_integration.py
│   └── test_utils.py
├── deploy/                 # Deployment configs
│   └── production/
│       ├── deployment.yaml
│       ├── ingress.yaml
│       └── service.yaml
├── .env.example           # Environment template
├── .gitignore
├── CHANGELOG.md
├── Dockerfile             # Docker image for HTTP mode
├── docker-compose.yaml    # Docker Compose config
├── LICENSE
├── main.py                # Entry point
├── pyproject.toml         # Project configuration
└── README.md

API 参考

此服务器封装了 AceDataCloud Sora API

贡献

欢迎贡献!请:

  1. Fork 本仓库

  2. 创建功能分支 (git checkout -b feature/amazing)

  3. 提交更改 (git commit -m 'Add amazing feature')

  4. 推送到分支 (git push origin feature/amazing)

  5. 开启 Pull Request

许可证

MIT 许可证 - 详情请参阅 LICENSE

链接


AceDataCloud 用心制作

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AceDataCloud/MCPSora'

If you have feedback or need assistance with the MCP directory API, please join our Discord server