Skip to main content
Glama

SoraMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

AceDataCloud APIを通じてSoraを利用したAI動画生成を行うModel Context Protocol (MCP)サーバーです。

Claude、VS Code、またはMCP互換クライアントから直接AI動画を生成できます。

機能

  • テキストから動画 (Text-to-Video) - テキストの説明から動画を生成

  • 画像から動画 (Image-to-Video) - 画像をアニメーション化し、参照画像から動画を作成

  • キャラクター動画 - 異なるシーン間でキャラクターを再利用

  • 非同期生成 - 本番ワークフロー向けのWebhookコールバック

  • 複数の向き - 横長および縦長の動画

  • タスク追跡 - 生成の進捗状況を監視し、結果を取得

ツールリファレンス

ツール

説明

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バージョン2(パートナーチャネル)を使用してAI動画を生成します。

sora_generate_video_v2_async

コールバック付きでSoraバージョン2を使用して非同期にAI動画を生成します。

sora_get_task

動画生成タスクのステータスと結果を照会します。

sora_get_tasks_batch

複数の動画生成タスクを一度に照会します。

sora_list_models

利用可能なすべてのSoraモデルとその機能を一覧表示します。

sora_list_actions

利用可能なすべてのSora APIアクションと対応するツールを一覧表示します。

クイックスタート

1. APIトークンの取得

  1. AceDataCloud Platformにサインアップ

  2. APIドキュメントページに移動

  3. **「Acquire」**をクリックしてAPIトークンを取得

  4. トークンをコピーして以下で使用

2. ホスト型サーバーの使用(推奨)

AceDataCloudが管理するMCPサーバーをホストしているため、ローカルインストールは不要です

エンドポイント: https://sora.mcp.acedata.cloud/mcp

すべてのリクエストにはBearerトークンが必要です。ステップ1で取得したAPIトークンを使用してください。

Claude.ai

Claude.aiでOAuthを使用して直接接続します(APIトークンは不要です):

  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トークンで接続します。サーバーは各リクエストのAuthorizationヘッダーからトークンを抽出します。

利用可能なツール

動画生成

ツール

説明

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ストーリー)

時間:

  • 10秒 - 全モデル

  • 15秒 - 全モデル

  • 25秒 - sora-2-proのみ

設定

環境変数

変数

説明

デフォルト

ACEDATACLOUD_API_TOKEN

AceDataCloudのAPIトークン

必須

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. リポジトリをフォーク

  2. フィーチャーブランチを作成 (git checkout -b feature/amazing)

  3. 変更をコミット (git commit -m 'Add amazing feature')

  4. ブランチにプッシュ (git push origin feature/amazing)

  5. プルリクエストを作成

ライセンス

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