MnogoReels

Biến video dài thành video ngắn dọc có phụ đề, bản ghi và bài viết với MnogoReels.

Máy chủ MCP được lưu trữ

npx add-mcp 'https://mcp.mnogo-reels.ru/mcp'

Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác

Tài liệu

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)
CursorInstall in CursorInstall in Cursor
VS CodeInstall in VS CodeInstall in VS Code
VS Code InsidersInstall in VS Code InsidersInstall in VS Code Insiders
KiroAdd to KiroAdd to Kiro
Claude Desktopnot available with an API key (see below)Download for Claude Desktop
SmitherySmithery

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:

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

Cursor, local:

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

VS Code, hosted (asks for the key):

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):

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:

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

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

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

Local:

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):

/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):

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

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

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

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

Local:

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

Or from the command line:

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):

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

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

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

~/.codeium/windsurf/mcp_config.json:

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

settings.json, hosted:

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

Local:

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

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

Hosted:

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

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:

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):

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

name: MnogoReels
version: 1.0.0
schema: v1
mcpServers:
  - 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:

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:

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

As an MCP client entry:

{
  "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 support@mnogo-reels.ru 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 mnogoreels-mcp@1.0.0.

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 support@mnogo-reels.ru. 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 support@mnogo-reels.ru.

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.

npm ci --ignore-scripts
npm run typecheck && npm run lint && npm test
npm run build
npm run test:integration
npm run smoke              # MCP Inspector CLI smoke test
npm run version:check      # manifests in sync with package.json
npm 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