Skip to main content
Glama

SoraMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

Сервер Model Context Protocol (MCP) для генерации видео с помощью ИИ Sora через AceDataCloud API.

Генерируйте видео с помощью ИИ прямо из Claude, VS Code или любого другого клиента, поддерживающего MCP.

Возможности

  • Текст в видео — генерация видео по текстовым описаниям

  • Изображение в видео — анимация изображений и создание видео на основе референсных изображений

  • Видео с персонажами — повторное использование персонажей в разных сценах

  • Асинхронная генерация — обратные вызовы (вебхуки) для рабочих процессов

  • Различная ориентация — горизонтальные и вертикальные видео

  • Отслеживание задач — мониторинг прогресса генерации и получение результатов

Справочник инструментов

Инструмент

Описание

sora_generate_video

Генерация видео по текстовому запросу с помощью Sora.

sora_generate_video_from_image

Генерация видео по референсным изображениям с помощью Sora (Image-to-Video).

sora_generate_video_with_character

Генерация видео с персонажем из референсного видео.

sora_generate_video_async

Асинхронная генерация видео с уведомлением через обратный вызов.

sora_generate_video_v2

Генерация видео с помощью Sora версии 2 (партнерский канал).

sora_generate_video_v2_async

Асинхронная генерация видео с помощью Sora версии 2 с обратным вызовом.

sora_get_task

Запрос статуса и результата задачи по генерации видео.

sora_get_tasks_batch

Запрос нескольких задач по генерации видео одновременно.

sora_list_models

Список всех доступных моделей Sora и их возможностей.

sora_list_actions

Список всех доступных действий API Sora и соответствующих инструментов.

Быстрый старт

1. Получите ваш API-токен

  1. Зарегистрируйтесь на платформе AceDataCloud

  2. Перейдите на страницу документации API

  3. Нажмите "Acquire" (Получить), чтобы получить ваш API-токен

  4. Скопируйте токен для использования ниже

2. Используйте размещенный сервер (рекомендуется)

AceDataCloud предоставляет управляемый MCP-сервер — локальная установка не требуется.

Эндпоинт: https://sora.mcp.acedata.cloud/mcp

Все запросы требуют Bearer-токен. Используйте API-токен из шага 1.

Claude.ai

Подключитесь напрямую на Claude.ai через OAuth — API-токен не требуется:

  1. Перейдите в Claude.ai Settings → Integrations → Add More

  2. Введите URL сервера: https://sora.mcp.acedata.cloud/mcp

  3. Завершите процесс входа через OAuth

  4. Начните использовать инструменты в вашем диалоге

Claude Desktop

Добавьте в конфигурацию (~/Library/Application Support/Claude/claude_desktop_config.json на macOS):

{
  "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)

Добавьте в конфигурацию MCP VS Code (.vscode/mcp.json):

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

Или установите расширение Ace Data Cloud MCP для VS Code, которое объединяет все 15 MCP-серверов с установкой в один клик.

JetBrains IDEs

  1. Перейдите в Settings → Tools → AI Assistant → Model Context Protocol (MCP)

  2. Нажмите AddHTTP

  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

Добавьте в настройки MCP Cline (.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

Добавьте в настройки MCP Roo Code:

{
  "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 Stories)

Длительность:

  • 10 секунд — все модели

  • 15 секунд — все модели

  • 25 секунд — только sora-2-pro

Конфигурация

Переменные окружения

Переменная

Описание

По умолчанию

ACEDATACLOUD_API_TOKEN

API-токен от AceDataCloud

Обязательно

ACEDATACLOUD_API_BASE_URL

Базовый URL API

https://api.acedata.cloud

ACEDATACLOUD_OAUTH_CLIENT_ID

OAuth client 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. Откройте 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