MnogoReels

ru.mnogo-reels由 mnogo-reels.ru 發布官方發布者v1.0.0更新於 Oct 25, 2026

Turn long videos into captioned vertical shorts, transcripts and articles with MnogoReels.

已驗證Streamable HTTP可網頁執行效率與工作流媒體與設計AI 與機器學習

概覽

AI 產生的概覽

MnogoReels 可將長影片轉成附字幕的直式短影音、逐字稿、文章和縮圖,剪輯工作以點數計費。

可以做什麼
檢查影片連結是否可用、長度和平臺,並在不花點數的情況下預估剪輯工作的點數成本,同時查看選項與計價說明、檢查 API 金鑰和伺服器設定。建立、重剪和重試剪輯工作,把長影片切成附燒錄字幕和鉤子標題的 9:16 直式短片,並追蹤進度、取得結果或列出歷史工作。發起並取得附時間碼的語音轉文字結果,可輸出純文字、SRT 等格式。把已完成的剪輯工作轉成長篇文章,含章節和重點,並以 Markdown 讀回。在自有素材庫或公開素材目錄中搜尋 B-roll 影片和圖片並取得新的下載連結。列出並讀取在網站上建立的發布包,以及產生和取得 YouTube 縮圖。
適用情境
適合希望讓助理在對話中把長影片改造成短影音、字幕、部落格文章或 YouTube 縮圖,並在花費點數前先看到價格的情境。也適合回顧先前的剪輯工作及其結果。
執行需求
可使用託管端點並在 Authorization Bearer 標頭中提供 API 金鑰,或透過 npx(需 Node.js 22 以上)、Docker 或 Claude Desktop 安裝包在本機執行。讀取工作或建立工作需要 MnogoReels 帳號和個人 API 金鑰(本機為 MNOGOREELS_API_KEY);列出工具和免費檢查不需金鑰。需要能連線至 MnogoReels API 的網路。
安裝前請注意
API 金鑰可消耗點數:不要貼到聊天、issue 或 URL 中,每個用戶端使用獨立金鑰並及時撤銷不用的金鑰。create_clip_job 和 recut_clip_job 在建立工作時按已開始的每分鐘 1 點計費,不可取消且不會自動退款;必須提供 max_credits,也可用 MNOGOREELS_MAX_CREDITS_PER_CALL 設定硬性上限。唯讀模式或 readonly 路徑會隱藏花錢的工具。影片標題和逐字稿屬於不可信的第三方文字。工具參數和金鑰會傳送給 MnogoReels 的 API。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 MnogoReels,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/ru.mnogo-reels%2Fmnogoreels/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "mnogoreels": {
      "type": "http",
      "url": "https://mcp.mnogo-reels.ru/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

English | Русский

MnogoReels MCP server

MnogoReels MCP server: turn long videos into captioned vertical Shorts/Reels, transcripts and articles from any MCP client. Give your AI assistant a YouTube, VK Video, RuTube, Dzen, Twitch, Yandex Disk, Google Drive or direct video link, and it picks the best moments, reframes them to 9:16, burns in captions and a hook title, and hands back links to the finished clips, using your own MnogoReels account.

[npm version] [npm downloads] [CI] [License: MIT] [MCP 2026-07-28] [MCP Registry] [Glama score] [Smithery] [Docker image]

One-click install

ClientHosted server (nothing to install)Local server (Node.js 22+, npx)
Cursor[Install in Cursor][Install in Cursor]
VS Code[Install in VS Code][Install in VS Code]
VS Code Insiders[Install in VS Code Insiders][Install in VS Code Insiders]
Kiro[Add to Kiro][Add to Kiro]
Claude Desktopnot available with an API key (see below)[Download for Claude Desktop]
Smithery[Smithery]

Cursor and Kiro buttons expect MNOGOREELS_API_KEY in your environment; set it and restart the editor, or replace ${env:…} with your key in the config the editor opens. VS Code buttons ask for the key.

Direct app links (if a button does not open your editor)

GitHub does not render cursor:// and vscode: links as clickable, so copy one into your browser's address bar.

Cursor, hosted:

text
cursor://anysphere.cursor-deeplink/mcp/install?name=mnogoreels&config=eyJ1cmwiOiJodHRwczovL21jcC5tbm9nby1yZWVscy5ydS9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHtlbnY6TU5PR09SRUVMU19BUElfS0VZfSJ9fQ%3D%3D

Cursor, local:

text
cursor://anysphere.cursor-deeplink/mcp/install?name=mnogoreels&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIm1ub2dvcmVlbHMtbWNwQGxhdGVzdCJdLCJlbnYiOnsiTU5PR09SRUVMU19BUElfS0VZIjoiJHtlbnY6TU5PR09SRUVMU19BUElfS0VZfSJ9fQ%3D%3D

VS Code, hosted (asks for the key):

text
vscode:mcp/install?%7B%22name%22%3A%22mnogoreels%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.mnogo-reels.ru%2Fmcp%22%2C%22headers%22%3A%7B%22Authorization%22%3A%22Bearer%20%24%7Binput%3Amnogoreels_api_key%7D%22%7D%2C%22inputs%22%3A%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22mnogoreels_api_key%22%2C%22description%22%3A%22MnogoReels%20API%20key%20(mrfrt_usr_...)%22%2C%22password%22%3Atrue%7D%5D%7D

VS Code, local (asks for the key):

text
vscode:mcp/install?%7B%22name%22%3A%22mnogoreels%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22mnogoreels-mcp%40latest%22%5D%2C%22env%22%3A%7B%22MNOGOREELS_API_KEY%22%3A%22%24%7Binput%3Amnogoreels_api_key%7D%22%7D%2C%22inputs%22%3A%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22mnogoreels_api_key%22%2C%22description%22%3A%22MnogoReels%20API%20key%20(mrfrt_usr_...)%22%2C%22password%22%3Atrue%7D%5D%7D

The Claude Desktop bundle (.mcpb) opens an install dialog that asks for the key and an optional read-only switch. Goose links and every other client are listed under Quick start.

Get your API key

  1. Sign in or register at mnogo-reels.ru.
  2. Open Developers → API keys and create a key. It starts with mrfrt_usr_.
  3. Put it into your client configuration as shown below (MNOGOREELS_API_KEY for the local server, an Authorization: Bearer header for the hosted one).

The key can spend your credits. Use a separate key for each client or machine, never paste it into chats, issues or URLs, and revoke it on the same page when you no longer need it.

Listing tools works without a key, and so do get_account, get_options_guide, check_video_source and quote_clip_job for a new link. Everything that reads your jobs or creates new ones needs the key.

Quick start

Hosted server (recommended)

URL: https://mcp.mnogo-reels.ru/mcp (Streamable HTTP). Send the key in a header:

json
{  "mcpServers": {    "mnogoreels": {      "type": "http",      "url": "https://mcp.mnogo-reels.ru/mcp",      "headers": { "Authorization": "Bearer mrfrt_usr_YOUR_KEY" }    }  }}
  • If your client cannot set Authorization, send X-API-Key: mrfrt_usr_YOUR_KEY instead.
  • https://mcp.mnogo-reels.ru/mcp/readonly is the same server without any tool that creates jobs or spends credits.
  • Never put the key in the URL: the server refuses such requests.

Local server (stdio)

Requires Node.js 22 or newer. The server talks to https://api.mnogo-reels.ru directly from your machine.

json
{  "mcpServers": {    "mnogoreels": {      "command": "npx",      "args": ["-y", "mnogoreels-mcp@latest"],      "env": { "MNOGOREELS_API_KEY": "mrfrt_usr_YOUR_KEY" }    }  }}

"type": "http" is the spelling used by Claude Code, VS Code and Cursor. Cline needs "streamableHttp", Windsurf serverUrl, Gemini CLI httpUrl; the per-client blocks below have the exact form. Ready-made files are in examples/, and docs/clients.md has longer notes per client.

Claude Code

Hosted:

bash
claude mcp add --transport http mnogoreels https://mcp.mnogo-reels.ru/mcp --header "Authorization: Bearer mrfrt_usr_YOUR_KEY"

Local:

bash
claude mcp add mnogoreels --env MNOGOREELS_API_KEY=mrfrt_usr_YOUR_KEY -- npx -y mnogoreels-mcp@latest

Plugin (hosted server plus a make-shorts skill; asks for the key when you enable it):

text
/plugin marketplace add RealSatanyan/mnogoreels-mcp/plugin install mnogoreels@mnogoreels
Claude Desktop

Download mnogoreels-mcp.mcpb and double-click it (or drag it into Settings → Extensions). Claude Desktop asks for the API key and runs the server with its built-in Node.js.

Or add the local server to claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "mnogoreels": {      "command": "npx",      "args": ["-y", "mnogoreels-mcp@latest"],      "env": { "MNOGOREELS_API_KEY": "mrfrt_usr_YOUR_KEY" }    }  }}

Custom remote connectors with a static API-key header are not available to individual Claude Desktop users, so use the bundle or the local server.

Cursor

Use the buttons above, or add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

json
{  "mcpServers": {    "mnogoreels": {      "url": "https://mcp.mnogo-reels.ru/mcp",      "headers": { "Authorization": "Bearer ${env:MNOGOREELS_API_KEY}" }    }  }}

Local variant: the local server block above, with "MNOGOREELS_API_KEY": "${env:MNOGOREELS_API_KEY}" if you keep the key in your environment.

VS Code (GitHub Copilot)

Use the buttons above, or create .vscode/mcp.json. VS Code asks for the key once and stores it securely:

json
{  "inputs": [    {      "type": "promptString",      "id": "mnogoreels_api_key",      "description": "MnogoReels API key (mrfrt_usr_...)",      "password": true    }  ],  "servers": {    "mnogoreels": {      "type": "http",      "url": "https://mcp.mnogo-reels.ru/mcp",      "headers": { "Authorization": "Bearer ${input:mnogoreels_api_key}" }    }  }}

A workspace .mcp.json uses the mcpServers form from Hosted server; do not commit a file that contains your key.

OpenAI Codex

~/.codex/config.toml, hosted (export MNOGOREELS_API_KEY in the shell that starts Codex):

toml
[mcp_servers.mnogoreels]url = "https://mcp.mnogo-reels.ru/mcp"bearer_token_env_var = "MNOGOREELS_API_KEY"tool_timeout_sec = 120

Local:

toml
[mcp_servers.mnogoreels]command = "npx"args = ["-y", "mnogoreels-mcp@latest"]env_vars = ["MNOGOREELS_API_KEY"]startup_timeout_sec = 60tool_timeout_sec = 120

Or from the command line:

bash
codex mcp add mnogoreels --env MNOGOREELS_API_KEY=mrfrt_usr_YOUR_KEY -- npx -y mnogoreels-mcp@latest

The default 10-second startup timeout is often too short for the first npx download, hence startup_timeout_sec = 60.

Gemini CLI

Install the extension (it asks for the key and keeps it in the system keychain):

bash
gemini extensions install https://github.com/RealSatanyan/mnogoreels-mcp

Or add the hosted server to ~/.gemini/settings.json:

json
{  "mcpServers": {    "mnogoreels": {      "httpUrl": "https://mcp.mnogo-reels.ru/mcp",      "headers": { "Authorization": "Bearer $MNOGOREELS_API_KEY" }    }  }}
Windsurf

~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "mnogoreels": {      "serverUrl": "https://mcp.mnogo-reels.ru/mcp",      "headers": { "Authorization": "Bearer ${env:MNOGOREELS_API_KEY}" }    }  }}
Zed

settings.json, hosted:

json
{  "context_servers": {    "mnogoreels": {      "url": "https://mcp.mnogo-reels.ru/mcp",      "headers": { "Authorization": "Bearer mrfrt_usr_YOUR_KEY" }    }  }}

Local:

json
{  "context_servers": {    "mnogoreels": {      "command": "npx",      "args": ["-y", "mnogoreels-mcp@latest"],      "env": { "MNOGOREELS_API_KEY": "mrfrt_usr_YOUR_KEY" }    }  }}
Cline

Add exactly one of these blocks to cline_mcp_settings.json. Local:

json
{  "mcpServers": {    "mnogoreels": {      "command": "npx",      "args": ["-y", "mnogoreels-mcp@latest"],      "env": { "MNOGOREELS_API_KEY": "mrfrt_usr_YOUR_KEY" },      "disabled": false,      "autoApprove": []    }  }}

Hosted:

json
{  "mcpServers": {    "mnogoreels": {      "type": "streamableHttp",      "url": "https://mcp.mnogo-reels.ru/mcp",      "headers": { "Authorization": "Bearer mrfrt_usr_YOUR_KEY" },      "disabled": false,      "autoApprove": []    }  }}

Never omit type for the remote entry: Cline treats a remote entry without type as legacy SSE, which this server does not serve. Cline can also set the server up by itself from llms-install.md.

Goose

Paste one of these links into your browser's address bar (GitHub does not render goose:// links as clickable). Local, Goose asks for the key:

text
goose://extension?name=MnogoReels&cmd=npx&arg=-y&arg=mnogoreels-mcp%40latest&env=MNOGOREELS_API_KEY%3DMnogoReels%20API%20key%20(mrfrt_usr_...)&timeout=120&description=Turn%20long%20videos%20into%20captioned%20vertical%20clips%2C%20transcripts%20and%20articles

Hosted, replace mrfrt_usr_YOUR_KEY before opening:

text
goose://extension?name=MnogoReels&url=https%3A%2F%2Fmcp.mnogo-reels.ru%2Fmcp&header=Authorization%3DBearer%20mrfrt_usr_YOUR_KEY&timeout=120&description=Turn%20long%20videos%20into%20captioned%20vertical%20clips%2C%20transcripts%20and%20articles

Or run goose configure → Add Extension → Command-line Extension with the command npx -y mnogoreels-mcp@latest and the variable MNOGOREELS_API_KEY. A config.yaml example is in examples/goose-config.yaml.

Kiro

Use the buttons above, or add to ~/.kiro/settings/mcp.json (or .kiro/settings/mcp.json in a project):

json
{  "mcpServers": {    "mnogoreels": {      "url": "https://mcp.mnogo-reels.ru/mcp",      "headers": { "Authorization": "Bearer ${MNOGOREELS_API_KEY}" }    }  }}
JetBrains AI Assistant, Warp, Amazon Q, LM Studio

These clients accept the generic mcpServers JSON: paste the hosted or the local block into their MCP settings (JetBrains: Settings → Tools → AI Assistant → Model Context Protocol; Warp: Settings → AI → MCP servers; Amazon Q: ~/.aws/amazonq/mcp.json; LM Studio: mcp.json). If a client does not support remote servers with headers, use the local block.

Continue

Save as .continue/mcpServers/mnogoreels.yaml and add the secret MNOGOREELS_API_KEY in Continue:

yaml
name: MnogoReelsversion: 1.0.0schema: v1mcpServers:  - name: MnogoReels    type: streamable-http    url: https://mcp.mnogo-reels.ru/mcp    requestOptions:      headers:        Authorization: 'Bearer ${{ secrets.MNOGOREELS_API_KEY }}'
n8n

Add an MCP Client Tool node to your AI Agent:

  • Server Transport: HTTP Streamable
  • Endpoint: https://mcp.mnogo-reels.ru/mcp
  • Authentication: Header Auth with name Authorization and value Bearer mrfrt_usr_YOUR_KEY

Details: examples/n8n.md.

Yandex AI Studio (MCP Hub)

AI Studio → MCP Hub → «Внешний MCP-сервер» (external MCP server):

  • Name: mnogoreels
  • URL: https://mcp.mnogo-reels.ru/mcp
  • Transport: Streamable HTTP
  • Header: Authorization: Bearer mrfrt_usr_YOUR_KEY

Details: examples/yandex-ai-studio.md.

Cloud.ru Evolution AI Agents

AI Agents → MCP servers → add a server by URL: https://mcp.mnogo-reels.ru/mcp with the header Authorization: Bearer mrfrt_usr_YOUR_KEY.

GigaChain / LangChain (Python)

With langchain-mcp-adapters:

python
import os
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient(    {        "mnogoreels": {            "transport": "streamable_http",            "url": "https://mcp.mnogo-reels.ru/mcp",            "headers": {"Authorization": "Bearer " + os.environ["MNOGOREELS_API_KEY"]},        }    })tools = await client.get_tools()

Pass tools to your GigaChat agent. A runnable script is in examples/gigachain.py.

Docker

The image runs the local (stdio) server by default:

bash
docker run -i --rm -e MNOGOREELS_API_KEY ghcr.io/realsatanyan/mnogoreels-mcp:latest

As an MCP client entry:

json
{  "mcpServers": {    "mnogoreels": {      "command": "docker",      "args": ["run", "-i", "--rm", "-e", "MNOGOREELS_API_KEY", "ghcr.io/realsatanyan/mnogoreels-mcp:latest"],      "env": { "MNOGOREELS_API_KEY": "mrfrt_usr_YOUR_KEY" }    }  }}

What you can do

Ask your assistant in plain language, for example:

  • "Make Shorts from https://www.youtube.com/watch?v=… with Russian captions in the hormozi style. Tell me the price first."
  • "How many credits would it cost to clip the first 30 minutes of this podcast? It's 2 hours long."
  • "Transcribe this RuTube video and give me SRT subtitles."
  • "Write a blog post with chapters from my last clip job."
  • "Show my recent clip jobs and the three best clips of each, with their scores and links."

Tools

ToolTitleRead-onlySpends creditsWhat it does
get_accountCheck API key and settingsyesnoChecks whether the configured MnogoReels API key works and shows this server's settings.
get_options_guideExplain clip optionsyesnoExplains the option values accepted by create_clip_job and recut_clip_job: video modes, clip lengths, caption styles, hook styles, story arc styles, outros, framing and languages, plus the pricing rules and the 30-minute limit per job.
check_video_sourceCheck video sourceyesnoChecks whether MnogoReels can download a video link and returns its title, length and platform.
quote_clip_jobQuote clip job costyesnoCalculates the credit cost of create_clip_job or recut_clip_job without spending anything, and checks that MnogoReels can download the video.
create_clip_jobCreate clip job (spends credits)noyesStarts AI clipping of a long video into vertical 9:16 short clips with burned-in captions and a hook title, plus optional cold-open hooks, music and B-roll.
get_clip_jobGet clip job status and clipsyesnoReturns the status, progress and results of a clip job created by create_clip_job, recut_clip_job or on the MnogoReels website.
list_clip_jobsList clip jobsyesnoLists the user's clip jobs, newest first, including jobs started on the MnogoReels website.
recut_clip_jobRecut clip job (spends credits)noyesCreates a new clip job from the same source video as an existing job, with different settings such as caption style, hook style, clip length, language, framing, music, B-roll or prompt.
retry_clip_jobRetry failed clip job (free)nonoRe-runs a failed clip job with the same settings, free of charge, keeping the same job_id.
create_transcriptionTranscribe video or audiononoStarts a timed speech-to-text transcription of a video or audio link.
get_transcriptionGet transcriptionyesnoReturns the status and text of a transcription started with create_transcription.
create_articleCreate article from clip jobnonoTurns the source video of a completed clip job into a long-form article: title, SEO title and description, summary, sections, key takeaways, chapters with timestamps, up to 4 frames from the video as illustrations, and the full timed transcript.
get_articleGet articleyesnoReturns an article created with create_article as Markdown, with its status.
search_brollSearch B-roll libraryyesnoSearches B-roll videos and images.
get_broll_assetGet B-roll assetyesnoReturns one B-roll item by asset_id with fresh links.
list_packsList publication packsyesnoLists the user's publication packs, newest first.
get_packGet publication packyesnoReturns one publication pack: suggested titles, descriptions, cover texts and hashtags, thumbnail images, teaser videos, the article id and the clip job id.
create_youtube_thumbnailsCreate YouTube thumbnailsnonoGenerates 1 to 4 AI YouTube thumbnail images (1280×720 JPEG) for a video, using frames from the video plus an optional title and art direction.
get_youtube_thumbnailsGet YouTube thumbnailsyesnoReturns the status and images of a thumbnail job started with create_youtube_thumbnails.

Every tool declares a title, all four MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) and an output schema. The two credit-spending tools are marked destructiveHint: true, so clients that ask before risky actions (for example Claude and Codex) prompt you on every call.

How to choose a tool

I want to…Tool
Know whether a link works and how long the video ischeck_video_source
Know the price before making clipsquote_clip_job
Make clipscreate_clip_job (after the quote and your OK)
Follow progress and get the clipsget_clip_job
Find my earlier jobs (also those made on the website)list_clip_jobs
Get a different look or different moments from a finished jobrecut_clip_job (paid, new job)
Re-run a failed jobretry_clip_job (free)
Get a transcript or SRT subtitlescreate_transcription → get_transcription
Get a blog post, show notes or chapterscreate_article → get_article (needs a completed clip job)
Find B-roll footagesearch_broll → get_broll_asset
Read a publication pack made on the websitelist_packs → get_pack
Make YouTube thumbnailscreate_youtube_thumbnails → get_youtube_thumbnails
Check my key and the server settingsget_account
Understand caption styles, modes and other optionsget_options_guide

Jobs run in the background

Every create_* tool returns an id right away. The matching get_* tool waits inside the call for up to wait_sec seconds (default 30, max 50) and sends progress notifications meanwhile, so the assistant simply calls it again until the status is completed or failed. Short videos take a few minutes; a full 30-minute range can take tens of minutes. While a clip job is processing, get_clip_job returns only the number of ready clips (set include_partial_clips=true to see them early).

Spending rules

  • Price: 1 credit per started minute of the processed range (end_sec − start_sec), minimum 1, charged when the job is created. Examples: 45 s → 1 credit, 10 min → 10, 29 min 30 s → 30. Captions, hooks, B-roll, music and agentic mode do not change the price through the API.
  • Free: checks, quotes, transcriptions, articles, YouTube thumbnails, retries of failed jobs and reading results.
  • Quote first: quote_clip_job is free and uses the same formula as the backend. The assistant should show you the price and wait for your agreement.
  • max_credits is required on create_clip_job and recut_clip_job. The call is refused without charging if the price is higher. An operator can also set a hard cap with MNOGOREELS_MAX_CREDITS_PER_CALL or the X-MnogoReels-Max-Credits-Per-Call header that the model cannot raise.
  • 30 minutes per job. MnogoReels processes at most 30 minutes per job, so longer ranges are refused before any charge. Split long videos with start_sec/end_sec (0–1800, 1800–3600, …).
  • Duplicate guard: an identical request with the same key within 10 minutes returns the job that was already created instead of charging again (allow_duplicate: true turns this off). The guard lives in one server process; two separate processes do not share it.
  • No cancel, no automatic refund. Credits are charged when the job is created and jobs cannot be cancelled. If processing fails, credits are not returned automatically; retry_clip_job re-runs a failed job for free, or contact [email protected] with the job_id.
  • Confirmation dialog. Where the client supports MCP form elicitation, the server also asks you to confirm the exact amount before charging:
Where the server runsConfirmation dialog before spending
Local server (stdio, npx, .mcpb, Docker), any client with form elicitationyes
Hosted server, client on MCP 2026-07-28 with form elicitationyes
Hosted server, 2025-era clients (most clients today)no: max_credits, the operator cap, the 30-minute limit, the duplicate guard and your client's own approval prompt are the gates
Any client without elicitation supportno: same gates as above

Prompts and resources

Prompts (slash commands in clients that show them):

PromptWhat it does
clip_videoQuote, confirm, create and wait for clips from one link (url, optional language, caption_style, clip_length)
podcast_to_shortsSplit a long podcast into 30-minute parts, quote each, make a Shorts series and propose a posting order (url, optional language)
video_to_blog_postTurn a completed clip job into an article plus a chapter list (clip_job_id)
transcribe_videoTranscribe a link as text or SRT (url, optional language, format)
review_recent_clipsReview your latest jobs and suggest recut settings without spending anything (optional count)

Resources:

URIContent
mnogoreels://guide/optionsAll option values with descriptions
mnogoreels://guide/pricingPricing, the 30-minute limit and the list of free operations
mnogoreels://guide/workflowHow to use the tools (same text as the server instructions)
mnogoreels://clip-jobs/{job_id}Status and clips of one job (JSON; lists your 20 latest jobs)
mnogoreels://transcriptions/{transcription_id}First page of a transcript
mnogoreels://articles/{article_id}First page of an article in Markdown

Prompts and job resources appear only when the tools they use are enabled (for example, /mcp/readonly offers only review_recent_clips). Every capability is also reachable through tools, because many clients never show resources.

Configuration

Environment variables (local server and self-hosting)

VariableDefaultMeaning
MNOGOREELS_API_KEYnoneYour key (mrfrt_usr_…). Not needed to start the server or list tools. Ignored in HTTP mode, where every caller sends their own key.
MNOGOREELS_API_URLhttps://api.mnogo-reels.ruAPI base URL; leave the default.
MNOGOREELS_PROFILEdefaultdefault, readonly or directory (see Profiles).
MNOGOREELS_TOOLSETSallComma list of clips, transcripts, articles, library, thumbnails (or all). account is always on.
MNOGOREELS_READ_ONLYfalsetrue hides every tool that creates jobs or spends credits.
MNOGOREELS_MAX_CREDITS_PER_CALLunsetHard cap on credits per paid call; the model cannot override it.
MNOGOREELS_MAX_WINDOW_SEC1800Longest range per paid job, in seconds. Keep the default: it matches what MnogoReels processes.
MNOGOREELS_MEDIA_URLSdirectboth also returns stream_url links through the MnogoReels website proxy. Keep direct until MnogoReels announces the proxy for API use.
MNOGOREELS_DEBUGfalseLocal server only: log full error messages to stderr.
MNOGOREELS_TRANSPORTstdiohttp starts the Streamable HTTP server (same as --http).
MNOGOREELS_HOST / MNOGOREELS_PORT127.0.0.1 / 8080HTTP bind address.
MNOGOREELS_PUBLIC_URLhttps://mcp.mnogo-reels.ru/mcpPublic URL announced in the server card.
MNOGOREELS_ALLOWED_HOSTSlocalhost,127.0.0.1,[::1]Accepted Host headers (DNS-rebinding protection).
MNOGOREELS_ALLOWED_ORIGINSlocalhost,127.0.0.1,[::1]Accepted browser Origin hostnames, or * for a public bearer-token deployment.
MNOGOREELS_TRUSTED_PROXIESemptyCIDRs of reverse proxies whose X-Forwarded-For is trusted.

Booleans accept 1/true/yes/on and 0/false/no/off. An invalid value stops the server with a message naming the variable (exit code 2). Command line: mnogoreels-mcp [--http] [--help] [--version].

Hosted server: paths and headers

PathProfile
/mcpdefault
/mcp/readonlyreadonly
/mcp/directorydirectory
HeaderEffect
Authorization: Bearer <key>Your API key (preferred).
X-API-Key: <key>Your API key, when Authorization is not available.
X-MnogoReels-Toolsets: clips,transcriptsShow only these toolsets (account is always kept).
X-MnogoReels-Read-Only: trueHide tools that create jobs or spend credits. false never widens a read-only path.
X-MnogoReels-Max-Credits-Per-Call: 30Hard credit cap per paid call.

Headers can only narrow what the path allows. Discovery and listing work without a key; a tool call that needs the key and has none gets HTTP 401.

Profiles

ProfileToolsWhat changes
default19Everything.
readonly13No tool that creates jobs or spends credits; reading, checks and quotes still work.
directory17No YouTube thumbnail tools, no AI-image or motion-graphics B-roll options, no "buy credits" link. Used for public directory listings.

Self-hosting the HTTP server

npx -y mnogoreels-mcp@latest --http or docker run -p 8080:8080 -e MNOGOREELS_TRANSPORT=http ghcr.io/realsatanyan/mnogoreels-mcp:latest starts the same server that runs at mcp.mnogo-reels.ru (health check: GET /healthz, server card: GET /.well-known/mcp/server-card.json). Set MNOGOREELS_ALLOWED_HOSTS to your domain. The production setup is described in docs/deploy-coolify.md.

Security

  • Untrusted content. Titles, transcripts, articles and other text that comes from videos is wrapped in <untrusted_source_text> tags, and the server instructions tell the model to treat it as data, never as instructions.
  • Key hygiene. The key travels only in the Authorization or X-API-Key header (the hosted server rejects keys in URLs), is never logged, and get_account shows only its last 4 characters. Use a dedicated key per client and revoke keys you no longer use. Service keys (mrfrt_svc_…) are rejected.
  • Read-only mode. MNOGOREELS_READ_ONLY=true, the /mcp/readonly path or the read-only switch in the Claude Desktop bundle removes every tool that can create jobs or spend credits.
  • Only official sources. The server is published only as the npm package mnogoreels-mcp, the image ghcr.io/realsatanyan/mnogoreels-mcp, the hosted endpoint https://mcp.mnogo-reels.ru and this repository. Do not give your key to look-alikes.
  • Pinning. mnogoreels-mcp@latest updates automatically. To avoid automatic updates, pin a version, e.g. npx -y [email protected].

Report vulnerabilities privately: see SECURITY.md.

Privacy

The local server sends your tool arguments and key only to api.mnogo-reels.ru. The hosted server receives them at mcp.mnogo-reels.ru and forwards them to the same API; it keeps keys only in memory for the duration of a request and never logs keys, tool arguments or results (only a short hash prefix of the key, to tell users apart). No telemetry is collected. Details: PRIVACY.md, the MnogoReels privacy policy and terms.

Troubleshooting

Tool errors start with Error [<code>]: followed by advice. The most common ones:

CodeWhat to do
missing_api_key, invalid_api_key_format, invalid_api_key (HTTP 401 on the hosted server)Create a key at Developers → API keys and update the client config. Keys start with mrfrt_usr_. Run get_account to check.
insufficient_credits (402)Top up credits or buy a plan at mnogo-reels.ru.
duration_unknownThe platform does not report the video length (typical for direct file links). Pass end_sec (the length in seconds, or the end of the part to process).
invalid_arguments mentioning 30 minutesOne job processes at most 30 minutes. Split the video with start_sec/end_sec and make several jobs.
source_not_downloadableThe video is private, removed, region-locked, audio-only or larger than 17 GB. Nothing was charged. Try another link.
rate_limited, rate_limited_localToo many requests; wait the number of seconds in the message.
upstream_timeoutMnogoReels did not answer in time; try again. For source checks you can pass start_sec/end_sec yourself.
outcome_unknown, billing_uncertainThe server could not confirm whether a paid job was created. Check list_clip_jobs before trying again; if credits were taken without a job, contact [email protected]. An identical retry within 10 minutes returns the same answer without sending anything.
Codex: tools time out or the server does not startSet startup_timeout_sec = 60 and tool_timeout_sec = 120 in config.toml.
Slow or failing downloads in RussiaSome Russian home connections throttle the API and media hosts. Prefer the hosted server on home connections. MNOGOREELS_MEDIA_URLS=both adds proxied stream_url links once MnogoReels enables that proxy for API use.

Still stuck? Open an issue (remove your key from logs and configs first) or write to [email protected].

Limitations (v1)

  • No local files: the video must be reachable by a public link (upload it somewhere public first).
  • No credit balance: the API does not expose it; see it on mnogo-reels.ru.
  • No publishing or scheduling to social networks.
  • No cancelling of jobs.
  • Publication packs can be read but not created; failed article images cannot be retried.

Development

Requirements: Node.js 22+. The code is TypeScript (strict), built with tsc, tested with Vitest and Stryker, and written test-first.

bash
npm ci --ignore-scriptsnpm run typecheck && npm run lint && npm testnpm run buildnpm run test:integrationnpm run smoke              # MCP Inspector CLI smoke testnpm run version:check      # manifests in sync with package.jsonnpm run metadata:check     # README tool tables, MCPB tools, Docker tools.json up to date

See CONTRIBUTING.md for the workflow and docs/release.md for releases. Changes are listed in CHANGELOG.md. Everyone taking part is expected to follow the Code of Conduct.

License

MIT © 2026 MnogoReels

來源:README.md,提交 edf9860

工具

19

get_account

Check API key and settings

Checks whether the configured MnogoReels API key works and shows this server's settings. Read-only and free; works without a key. Use it first when other tools fail with an authentication error, or when the user asks which account or mode is active. It does not change anything. Returns authenticated (true or false), a masked key hint (last 4 characters only), the API URL, the server version and transport, the active profile, enabled toolsets, whether read-only mode is on, the per-call credit cap if one is set, and links for managing keys and credits. The credit balance itself is not available through the API; the user can see it on mnogo-reels.ru.

無需輸入參數。

get_options_guide

Explain clip options

Explains the option values accepted by create_clip_job and recut_clip_job: video modes, clip lengths, caption styles, hook styles, story arc styles, outros, framing and languages, plus the pricing rules and the 30-minute limit per job. Read-only and free; works without an API key and makes no network calls. Use it when the user asks what a style looks like, which mode fits their video, or how much processing costs. topic selects one section; all returns everything.

輸入參數topic

check_video_source

Check video source

Checks whether MnogoReels can download a video link and returns its title, length and platform. Free: spends no credits and creates no job. Use it to answer "is this link usable?" or "how long is this video?" without pricing anything (private, removed, region-locked, audio-only or very large sources fail). To price a job call quote_clip_job directly: it runs the same check. Do not use it for existing jobs; use get_clip_job instead. Supports YouTube, VK Video, RuTube, Dzen, Twitch, Yandex Disk and Google Drive file links, and direct links to .mp4, .mov, .mkv or .webm files. Local files are not supported: the user must upload the file somewhere public first. Returns downloadable (true or false), reason when not downloadable (audio_only, too_large, unavailable), duration_sec (null when the platform does not report it, which is typical for direct file links), title, thumbnail_url and platform. Usually takes 2 to 15 seconds, occasionally up to 45.

輸入參數source_url必填

quote_clip_job

Quote clip job cost

Calculates the credit cost of create_clip_job or recut_clip_job without spending anything, and checks that MnogoReels can download the video. Free and read-only. Price: 1 credit per started minute of the processed range (end_sec minus start_sec), minimum 1. Options such as caption style, hooks, B-roll or music do not change the price. One job processes at most 30 minutes; for longer videos quote several ranges with start_sec and end_sec. Without start_sec and end_sec the whole video is priced, so its length must be known; this tool looks it up. Pass source_url to price a new video, or job_id to price a recut of an existing clip job. A recut without start_sec and end_sec reuses the original job's range, which the API does not reveal; the quote is then an upper bound (the whole source video) and credits_exact is false. Show the credits to the user and get their agreement before calling create_clip_job or recut_clip_job with max_credits of at least this amount. Returns credits, credits_exact, billed_seconds, the resolved start_sec and end_sec, the platform, whether the video can be downloaded, the source title and length, and a note about failed jobs. If the length cannot be determined (typical for direct file links), the error explains how to pass end_sec yourself.

輸入參數job_idend_secstart_secsource_url

create_clip_job

Create clip job (spends credits)

Starts AI clipping of a long video into vertical 9:16 short clips with burned-in captions and a hook title, plus optional cold-open hooks, music and B-roll. Spends credits: 1 per started minute of the processed range (minimum 1), charged when the job is created. One job processes at most 30 minutes of video; split longer videos with start_sec and end_sec. Jobs cannot be cancelled. Before calling, run quote_clip_job, show the price to the user and get explicit agreement. max_credits is required; the call is refused without charging if the price is higher. Some clients also ask the user to confirm. If the same request was already submitted with this API key in the last 10 minutes, that job is returned instead of charging again. Use for turning a podcast, stream, interview, lecture or vlog into Shorts, Reels or TikTok clips. Not for: transcripts only (create_transcription), changing the look of an existing job (recut_clip_job), or re-running a failed job for free (retry_clip_job). Key parameters: source_url (public link; local files are not supported), start_sec and end_sec to process only part of the video, video_mode (podcast for talking heads), clip_length, caption_style, language (omit to auto-detect) and prompt to steer which moments are picked. Call get_options_guide to explain option values. Returns job_id right away with status queued and the credits charged. Processing takes a few minutes for short videos and up to tens of minutes for a full 30-minute range; clips appear one by one. Next, call get_clip_job with wait_sec=50 until the status is completed or failed. If processing fails, credits are not returned automatically: retry_clip_job re-runs the job for free, or the user can contact [email protected] with the job_id. On the free plan clip files are kept for 30 days.

輸入參數outroemojispromptend_secframinglanguageadd_musiccold_opensmart_cutstart_sechook_stylesource_url必填另有 11 個

get_clip_job

Get clip job status and clips

Returns the status, progress and results of a clip job created by create_clip_job, recut_clip_job or on the MnogoReels website. Read-only and free. wait_sec (default 30, max 50) waits inside this call: it returns as soon as the job completes or fails, or when wait_sec runs out, and sends progress notifications meanwhile. wait_sec=0 returns an instant snapshot. While the job is queued or processing only the count of ready clips is returned; set include_partial_clips=true to get the links of clips finished so far. If eta_seconds is above 600, tell the user how long it will take and offer to check back later instead of polling continuously. Once completed, returns each clip's video link, title, virality score (0 to 100), duration and hook text, plus cold-open hook clips and teasers when the job made them. Clips are sorted best score first; max_clips limits how many are returned (default 10, up to 30; up to 10 with response_format=detailed). response_format=detailed adds clip descriptions, transcript excerpts, poster images and timings in the source video. Notes: a failed job can return to queued when MnogoReels retries it automatically. media_available=false means the files were deleted by storage retention (free-plan clips are kept for 30 days). Text from the video is wrapped in <untrusted_source_text> tags. Use list_clip_jobs to find job ids.

輸入參數job_id必填wait_secmax_clipsresponse_formatinclude_partial_clips

list_clip_jobs

List clip jobs

Lists the user's clip jobs, newest first, including jobs started on the MnogoReels website. Read-only and free. Use it to find a job_id, see what is still processing, or pick recent results to review. Use get_clip_job for the clips of one job. created_via=api shows only jobs started with an API key. Pages with limit (1 to 50, default 10) and offset; next_offset is null on the last page. Creation dates are not provided by the API; the order is newest first. Returns for each job: job_id, status, progress_percent, source_url, the number of clips ready, pack_id when the job belongs to a publication pack, likely_kind (clip_job, pack_clip_job or republication) and a short error for failed jobs.

輸入參數limitoffsetcreated_via

recut_clip_job

Recut clip job (spends credits)

Creates a new clip job from the same source video as an existing job, with different settings such as caption style, hook style, clip length, language, framing, music, B-roll or prompt. Spends credits like create_clip_job (1 per started minute of the billed range, minimum 1, at most 30 minutes per job) and returns a new job_id; the original job and its clips stay unchanged. Before calling, run quote_clip_job with job_id, show the price, get the user's agreement and pass max_credits. Identical requests within 10 minutes return the existing recut instead of charging again. Without start_sec and end_sec the recut reuses the original job's range and is billed for it; the API does not reveal that range, so the quote is an upper bound (the whole source video, which must then be at most 30 minutes long). By default the same moments are re-rendered with the new look, which is faster because the source is cached; this works only when the range equals the original job's range. Set new_moments=true to let the AI pick different moments. Only the settings you pass change; everything else (including the original outro and whole-video mode) is inherited from the original job. Works for completed and failed clip jobs, not for jobs that are still running. To re-run a failed job with the same settings for free, use retry_clip_job. Next, call get_clip_job with the new job_id and wait_sec=50.

輸入參數outroemojisjob_id必填promptend_secframinglanguageadd_musiccold_opensmart_cutstart_sechook_style另有 11 個

retry_clip_job

Retry failed clip job (free)

Re-runs a failed clip job with the same settings, free of charge, keeping the same job_id. Use it when get_clip_job shows status failed, for example after a temporary download or rendering error. It refuses jobs that are queued or processing (wait for them) and completed jobs (re-running would replace their clips; use recut_clip_job for a new variant instead). If the same source keeps failing, it probably cannot be processed: check it with check_video_source or try another link. Returns the job with status queued. Next, call get_clip_job with wait_sec=50.

輸入參數job_id必填

create_transcription

Transcribe video or audio

Starts a timed speech-to-text transcription of a video or audio link. Free: spends no credits. Supports the same links as create_clip_job (YouTube, VK Video, RuTube, Dzen, Twitch, Yandex Disk, Google Drive and direct media links); local files are not supported. Use it when the user needs the text, subtitles (SRT) or timestamps of a video without making clips. For a video that already has a completed clip job, create_article returns the full timed transcript together with an article. language is a two-letter code such as en or ru; omit it to auto-detect (one language for the whole recording). Returns transcription_id right away. It usually finishes in 1 to 5 minutes; long recordings take longer. Next, call get_transcription with wait_sec=50.

輸入參數languagesource_url必填

get_transcription

Get transcription

Returns the status and text of a transcription started with create_transcription. Read-only and free. wait_sec (default 30, max 50) waits for completion inside this call; progress notifications are sent meanwhile. format selects the output: text (plain text, default), srt (subtitles with timecodes) or segments (one timed phrase per line). Long transcripts come in pages of up to max_chars characters; when truncated is true, call again with offset set to next_offset. Returns status (queued, processing, completed, failed), progress_percent, the detected language, total_chars and the requested page. The transcript comes from the video and is wrapped in <untrusted_source_text> tags.

輸入參數formatoffsetwait_secmax_charstranscription_id必填

create_article

Create article from clip job

Turns the source video of a completed clip job into a long-form article: title, SEO title and description, summary, sections, key takeaways, chapters with timestamps, up to 4 frames from the video as illustrations, and the full timed transcript. Free: spends no credits. Use it for blog posts, show notes, chapter lists or the full transcript of a video that has already been clipped. It needs a clip job with status completed (create one with create_clip_job first). There is one article per source video per account: calling it again with any clip job of the same video returns the existing article instead of creating a new one; an article that failed cannot be regenerated through the API. Returns article_id, status and the clip job the article was made from. Writing usually takes 1 to 3 minutes. Next, call get_article with wait_sec=50.

輸入參數clip_job_id必填

get_article

Get article

Returns an article created with create_article as Markdown, with its status. Read-only and free. wait_sec (default 30, max 50) waits inside this call until the text is ready. The Markdown contains the title, summary, sections, key takeaways and chapter timestamps; set include_transcript=true to append the full timed transcript. Long content is paged: when truncated is true, call again with offset set to next_offset. Returns status (queued, processing, completed, failed), progress_percent, the Markdown page as soon as the text exists (images_pending=true means illustrations are still being prepared; the text will not change), the SEO title and description, image links with captions and source video details. Images that failed cannot be retried through this server. The article is generated from the video and wrapped in <untrusted_source_text> tags.

輸入參數offsetwait_secmax_charsarticle_id必填include_transcript

search_broll

Search B-roll library

Searches B-roll videos and images. catalog=mine searches the user's own library (stock clips, AI images and motion graphics created for their past clip jobs) and returns temporary download links. catalog=shared searches the public MnogoReels stock catalog of about 5,000 reviewed items and returns titles, tags, previews and a website link; shared items are downloaded on the website. Read-only and free. query matches whole words in titles, descriptions and tags (no stemming); omit it to list the newest items. kind filters image, video or motion. Pages with limit (1 to 50, default 10) and cursor from next_cursor. Media links expire after 15 minutes; call get_broll_asset for fresh ones. Titles, descriptions, tags and attribution come from videos and stock providers and are wrapped in <untrusted_source_text> tags.

輸入參數kindlimitquerycursorcatalog必填

get_broll_asset

Get B-roll asset

Returns one B-roll item by asset_id with fresh links. Read-only and free; needs an API key. Use it right before downloading an item found with search_broll, because catalog=mine download links expire after 15 minutes; to find items use search_broll instead. catalog must be the catalog the asset_id came from. For catalog=mine it returns media_url and poster_url, valid for links_expire_in_sec seconds. For catalog=shared it returns title, tags, a preview poster (videos only), attribution and web_url, because shared items are downloaded on the MnogoReels website. Text from videos and stock providers is wrapped in <untrusted_source_text> tags.

輸入參數catalog必填asset_id必填

list_packs

List publication packs

Lists the user's publication packs, newest first. A pack is made on the MnogoReels website from one video link and bundles clips, a transcript, suggested titles, descriptions and hashtags, YouTube thumbnails, an article and teasers. Read-only and free; packs cannot be created through the API. Pages with limit (1 to 50, default 10) and offset. Returns pack_id, status, progress, source_url, created_at, the status of each part and clip_job_id (use it with get_clip_job). Next, call get_pack for titles, hashtags, thumbnails and teasers.

輸入參數limitoffset

get_pack

Get publication pack

Returns one publication pack: suggested titles, descriptions, cover texts and hashtags, thumbnail images, teaser videos, the article id and the clip job id. Read-only and free. Set include_transcript=true to add the transcript, paged with offset and next_offset. Use get_clip_job with clip_job_id for the clips and get_article with article_id for the article. Text generated from the video is wrapped in <untrusted_source_text> tags.

輸入參數offsetpack_id必填max_charsinclude_transcript

create_youtube_thumbnails

Create YouTube thumbnails

Generates 1 to 4 AI YouTube thumbnail images (1280×720 JPEG) for a video, using frames from the video plus an optional title and art direction. Free: spends no credits, but every variant is a separate AI image generation, so ask for more than one only when the user wants options. Parameters: source_url (link to the video), language of the text on the thumbnail (required; match the title or the video), title (text to place on the thumbnail, up to 120 characters), prompt (art direction, up to 1000 characters), style (auto, bold, cinematic, minimal, news, gaming) and variants (1 to 4, default 1). Returns thumbnail_job_id right away. It usually finishes in 1 to 2 minutes. Next, call get_youtube_thumbnails with wait_sec=50.

輸入參數styletitlepromptlanguage必填variantssource_url必填

get_youtube_thumbnails

Get YouTube thumbnails

Returns the status and images of a thumbnail job started with create_youtube_thumbnails. Read-only and free; needs an API key. Jobs cannot be listed, so keep the thumbnail_job_id from create_youtube_thumbnails. wait_sec (default 30, max 50) waits inside this call until the job completes or fails, with progress notifications; wait_sec=0 returns a snapshot. Returns status (queued, processing, completed, failed), stage, progress_percent and the finished variants (1280×720 JPEG image link, width, height). If some variants failed, the rest are still returned.

輸入參數wait_secthumbnail_job_id必填

版本歷史

1
  1. v1.0.0最新Oct 15, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分