The open-source MCP video server for Claude Code

ViralMint exposes its entire creator pipeline — scout, download, Whisper transcription, Smart Video assembly, modular tools, Chromium automation — as 86 Model Context Protocol tools, 9 workflow prompts and 4 read-only resources. Claude Code, Claude Desktop and Cursor can drive the whole thing from natural-language chat. AGPL-3.0, no subscription.

86 MCP tools
9 Workflow prompts
4 Read-only resources
AGPL-3.0 Open source

What is Model Context Protocol?

MCP is an open standard from Anthropic for connecting AI assistants to external tools, data sources and prompts. An MCP server exposes capabilities; an MCP client (Claude Code, Claude Desktop, Cursor) discovers and invokes them. The protocol is transport-agnostic — ViralMint mounts the server on HTTP Streamable at the loopback address the desktop binds.

The practical effect: instead of clicking through ViralMint's UI for every step, you tell Claude what you want and it calls the right tools in sequence. Multi-step workflows that used to need 6–9 manual clicks collapse into one prompt.

Setup in 60 seconds (Claude Code)

  1. Download ViralMint from viralmint.net/#download (macOS / Windows / Linux).
  2. Open the /mcp page in the desktop app sidebar. The Setup tab shows your auto-generated bearer token.
  3. Run the one-liner: claude mcp add --transport http viralmint http://127.0.0.1:16888/mcp --header "Authorization: Bearer <your-token>"
  4. Restart Claude Code and try the example prompt below.

Config snippet (Claude Desktop / Cursor)

# .mcp.json (Claude Code / Cursor)
{
  "mcpServers": {
    "viralmint": {
      "transport": {
        "type": "http",
        "url": "http://127.0.0.1:16888/mcp",
        "headers": {
          "Authorization": "Bearer <token-from-desktop-app>"
        }
      }
    }
  }
}

The /mcp page → Setup tab generates this snippet pre-filled with your bearer token. Click the copy button and paste into .mcp.json or the equivalent client config.

What's in the 86 tools

Macros

6 tools

Collapse 6–9-call workflows into one. tool_chain runs preset pipelines (tiktok_ready / studio_polish / brand_kit / podcast_to_short); create_clip_sequence stitches N AI clips; repurpose_for_platforms exports 9:16 + 1:1 + 16:9 in one shot.

Research

6 tools

scout_trending, list_scout_results, get_search_demand, analyze_channel, scout_news, save_news_articles. Hits the same async scout endpoint the web UI uses; returns job IDs you wait_for_job on.

Acquire

7 tools

download_video, list_downloaded, analyze_downloaded, import_local_video, connect_channel, list_connected_channels, list_channel_videos. yt-dlp + Whisper backbone, async via wait_for_job.

Generate

9 tools

Smart Video pipeline, AI video, batch_generate, generate_from_downloaded, polish_script, split_scenes, script_from_topic, list AI models, import clips for assembly.

Output

7 tools

list_videos, get_video, extract_viral_clips, export_video, export_video_bundle (multi-aspect ZIP), bulk_export_videos, list_clips.

Tools

20 tools

Modular utilities: captions, reframe, audio_enhance, watermark, remove_silence, merge_clips, voiceover, ai_image, ai_music, ai_thumbnail, ai_video_clip, sfx, gif, speed, hook_analysis, translate, metadata, auto_chapters, tool_chain, tool_download_result.

Orchestration

5 tools

get_job_status, wait_for_job, list_jobs, cancel_job, tool_cost_estimate. wait_for_job returns `output` + `output_path` so most workflows skip the separate download step.

Automation

6 tools

create_cron_job, list_cron_jobs, cancel_cron_job, run_cron_job_now, update_cron_job, notify_channel. Schedule the nightly autonomous pipeline or one-off cron tasks.

Feedback

3 tools

write_review, pin_strategy_note, list_reviews. Claude writes notes BACK to ViralMint — attached to a channel / video / clip / scout_result / niche row. Renders in the desktop UI as a notes card per object.

Browser

16 tools

browser_navigate, browser_click, browser_type, browser_screenshot, browser_extract_text, browser_evaluate, etc. Drives ViralMint's bundled Chromium (the same one the Enhanced Download flow installs). Useful for logged-in scraping with use_viralmint_session=true.

Example: multi-step creator pipeline in one prompt

# Example prompt to Claude Code with ViralMint MCP installed

> Scout trending TikTok videos in the "productivity hacks" niche.
> Download the top 3 outliers. Transcribe them with Whisper.
> Then generate a fresh Smart Video that uses a similar hook
> pattern but covers my topic: "morning routines for night owls".

# Under the hood, Claude calls:
#   scout_trending(niche="productivity hacks", platforms=["tiktok"])
#   wait_for_job(job_id)
#   download_video(ids=[...top 3 outlier ids])
#   wait_for_job for each download
#   analyze_downloaded(ids=[...])
#   wait_for_job for each analysis
#   generate_from_downloaded(downloaded_video_id=..., topic="morning routines for night owls")
#   wait_for_job, then output_path is your finished mp4.

The full chain takes ~3–8 minutes wall-time (depending on Whisper model + AI video tier) and costs $0.05–$0.15 in cloud credits. Claude waits on each wait_for_job before continuing, so the prompt flow is fully autonomous.

Architecture notes

  • Loopback-only by default. The MCP endpoint binds to 127.0.0.1:16888. Not exposed to the network unless you explicitly front it with a reverse proxy. Bearer token is the install-binding signal so one Claude Code config maps to one ViralMint install.
  • HTTP-to-self. MCP tools call the same /api/* routes the web UI uses, via httpx loopback. ~0.5–1 ms per tool call. Trade-off: middleware (CSRF, auth, rate-limits) runs once and is shared between UI and MCP, so no surface can bypass a check added for the browser.
  • Real-time activity streaming. Every MCP call broadcasts a mcp_activity WebSocket event so the /mcp Activity tab updates within milliseconds. Useful for debugging chains and for billing transparency.
  • Cost preview built-in. tool_cost_estimate(tool, args) returns {cost_usd, model, notes} for any tool without invoking it, so Claude can warn before spending. Covers the 5 expensive primitives plus the create_clip_sequence macro.

How does this compare to other MCP servers?

Most MCP servers expose read-only data sources (filesystem, GitHub, Slack) or single-shot actions. ViralMint is the only end-to-end creator pipeline MCP server we know of — it's the difference between "Claude can read your Slack messages" and "Claude can run a 6-stage video production pipeline and hand you the finished mp4". The differentiation is the wait_for_job orchestration helper, the macros that collapse multi-call workflows, the cost estimation tool, and the bundled Chromium for headless browser automation.

Frequently asked

What is the Model Context Protocol?

MCP is an open standard from Anthropic for connecting AI assistants to external tools, data sources, and prompts. An MCP server exposes capabilities; an MCP client (Claude Code, Claude Desktop, Cursor) discovers and invokes them. ViralMint ships a full MCP server inside the desktop app at http://127.0.0.1:16888/mcp.

How many tools does ViralMint's MCP server expose?

86 tools across 10 modules. Macros collapse 6–9-call workflows into one call (tool_chain, create_clip_sequence, repurpose_for_platforms). Primitives cover scout / acquire / generate / output / single-purpose tools / orchestration / feedback (Claude can write reviews back). 16 browser_* tools drive ViralMint's bundled Chromium for headless automation.

Is ViralMint's MCP server open source?

Yes — AGPL-3.0. Source at github.com/openclaw-easy/ViralMint. The MCP layer lives at backend/mcp/ and the FastAPI mount is in backend/main.py. Tool implementations are thin HTTP wrappers around the same /api/* routes the web UI uses, so adding a tool means writing a 20-line wrapper plus a registry entry.

How do I install ViralMint's MCP server in Claude Code?

Download the desktop app from viralmint.net, open the /mcp page in the app sidebar, copy the auto-generated bearer token, then run: claude mcp add --transport http viralmint http://127.0.0.1:16888/mcp --header "Authorization: Bearer <token>". The /mcp Setup tab includes a one-click copy-paste config snippet.

Does ViralMint's MCP work with Cursor and Claude Desktop?

Yes. Claude Code (CLI), Claude Desktop, Cursor and any MCP-aware client. The /mcp page generates the appropriate config snippet for each — the Claude Code one-liner, the JSON form for Claude Desktop / Cursor, plus the mcp-remote proxy line for older clients that don't speak HTTP Streamable yet.

What does wait_for_job do?

wait_for_job(job_id) polls /api/jobs/{id} at 2-second intervals until the job reaches a terminal state (completed / failed / cancelled). The returned payload includes `output` (parsed dict from the runner) and `output_path` (the artifact file path), so the LLM usually doesn't need to call tool_download_result afterwards. This single helper is the most-used MCP affordance for multi-step workflows.

Get ViralMint

The MCP server is built into the desktop app — no separate install, no extra config. Open-source under AGPL-3.0, free for the local features, prepaid credits for the cloud AI steps.