SoraMCP
SoraMCP
AceDataCloud APIを通じてSoraを利用したAI動画生成を行うModel Context Protocol (MCP)サーバーです。
Claude、VS Code、またはMCP互換クライアントから直接AI動画を生成できます。
機能
テキストから動画 (Text-to-Video) - テキストの説明から動画を生成
画像から動画 (Image-to-Video) - 画像をアニメーション化し、参照画像から動画を作成
キャラクター動画 - 異なるシーン間でキャラクターを再利用
非同期生成 - 本番ワークフロー向けのWebhookコールバック
複数の向き - 横長および縦長の動画
タスク追跡 - 生成の進捗状況を監視し、結果を取得
ツールリファレンス
ツール | 説明 |
| Soraを使用してテキストプロンプトからAI動画を生成します。 |
| Soraを使用して参照画像からAI動画を生成します(画像から動画)。 |
| 参照動画のキャラクターを使用してAI動画を生成します。 |
| コールバック通知付きで非同期にAI動画を生成します。 |
| Soraバージョン2(パートナーチャネル)を使用してAI動画を生成します。 |
| コールバック付きでSoraバージョン2を使用して非同期にAI動画を生成します。 |
| 動画生成タスクのステータスと結果を照会します。 |
| 複数の動画生成タスクを一度に照会します。 |
| 利用可能なすべてのSoraモデルとその機能を一覧表示します。 |
| 利用可能なすべてのSora APIアクションと対応するツールを一覧表示します。 |
クイックスタート
1. APIトークンの取得
AceDataCloud Platformにサインアップ
APIドキュメントページに移動
**「Acquire」**をクリックしてAPIトークンを取得
トークンをコピーして以下で使用
2. ホスト型サーバーの使用(推奨)
AceDataCloudが管理するMCPサーバーをホストしているため、ローカルインストールは不要です。
エンドポイント: https://sora.mcp.acedata.cloud/mcp
すべてのリクエストにはBearerトークンが必要です。ステップ1で取得したAPIトークンを使用してください。
Claude.ai
Claude.aiでOAuthを使用して直接接続します(APIトークンは不要です):
Claude.aiの設定 → 統合 → 追加に移動
サーバーURLを入力:
https://sora.mcp.acedata.cloud/mcpOAuthログインフローを完了
会話でツールの使用を開始
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
**設定 → ツール → AI Assistant → Model Context Protocol (MCP)**に移動
追加 → HTTPをクリック
以下を貼り付け:
{
"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 8000Claude 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トークンで接続します。サーバーは各リクエストのAuthorizationヘッダーからトークンを抽出します。
利用可能なツール
動画生成
ツール | 説明 |
| テキストプロンプトから動画を生成 |
| 参照画像から動画を生成 |
| 参照動画のキャラクターを使用して動画を生成 |
| コールバック通知付きで動画を生成 |
タスク
ツール | 説明 |
| 単一のタスクステータスを照会 |
| 複数のタスクを一度に照会 |
情報
ツール | 説明 |
| 利用可能なSoraモデルを一覧表示 |
| 利用可能な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]利用可能なモデル
モデル | 最大時間 | 品質 | 機能 |
| 15秒 | 良好 | 標準生成 |
| 25秒 | 最高 | 高品質、長尺動画 |
動画オプション
サイズ:
small- 低解像度、高速生成large- 高解像度(推奨)
向き:
landscape- 16:9(YouTube、プレゼンテーション)portrait- 9:16(TikTok、Instagramストーリー)
時間:
10秒 - 全モデル15秒 - 全モデル25秒 - sora-2-proのみ
設定
環境変数
変数 | 説明 | デフォルト |
| AceDataCloudのAPIトークン | 必須 |
| APIベースURL |
|
| OAuthクライアントID(ホストモード) | — |
| プラットフォームベースURL |
|
| デフォルトモデル |
|
| デフォルト動画サイズ |
|
| デフォルト時間(秒) |
|
| デフォルトの向き |
|
| リクエストタイムアウト(秒) |
|
| ログレベル |
|
コマンドラインオプション
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.mdAPIリファレンス
このサーバーはAceDataCloud Sora APIをラップしています:
Sora Videos API - 動画生成
Sora Tasks API - タスク照会
貢献
貢献を歓迎します!以下の手順に従ってください:
リポジトリをフォーク
フィーチャーブランチを作成 (
git checkout -b feature/amazing)変更をコミット (
git commit -m 'Add amazing feature')ブランチにプッシュ (
git push origin feature/amazing)プルリクエストを作成
ライセンス
MITライセンス - 詳細はLICENSEを参照してください。
リンク
Made with love by 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