MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

Go MCP server for ffmpeg, Remotion, and Google Vids video workflows

Created 5/10/2026
Updated about 3 hours ago
Repository documentation and setup instructions

vids-mcp-go

vids-mcp-go is a local Go MCP server for video workflows.

It now supports three paths:

  • fast local caption videos with ffmpeg
  • higher-quality motion videos with Remotion
  • Google Vids browser automation through Playwright and a reusable Chrome profile

What is already wired

  • Local MCP client config updated in C:\Users\hp\.config\opencode\opencode.json
  • Built executable available at C:\Users\hp\Desktop\vids-mcp-go\vids-mcp-go.exe
  • Local Go runtime available at C:\Users\hp\tools\go-local\go\bin\go.exe
  • Node dependencies installed in C:\Users\hp\Desktop\vids-mcp-go\node_modules

Project layout

  • main.go - server entrypoint
  • internal/app/server.go - MCP registration and startup
  • internal/video/renderer.go - ffmpeg renderer
  • internal/video/remotion.go - Remotion renderer bridge
  • internal/googlevids/service.go - Google Vids automation bridge
  • internal/tools/ - MCP handlers
  • node/remotion/ - Remotion render app and scripts
  • node/google-vids/ - Playwright automation scripts
  • examples/sample-request.json - ffmpeg render request
  • examples/remotion-request.json - Remotion render request

Requirements

  • ffmpeg on PATH
  • Node.js 22+
  • a desktop Chrome install for Google Vids automation
  • a valid font file for drawtext

Windows defaults used by this project:

  • FFMPEG_PATH=ffmpeg
  • FFMPEG_FONT_FILE=C:\Windows\Fonts\arial.ttf
  • VIDEO_NODE_COMMAND=node
  • GOOGLE_VIDS_BROWSER_CHANNEL=chrome

Build commands

Use the local Go toolchain that was installed without admin rights:

"C:\Users\hp\tools\go-local\go\bin\go.exe" mod tidy
"C:\Users\hp\tools\go-local\go\bin\go.exe" build -o vids-mcp-go.exe .

How to work with it

1) Restart OpenCode

Restart your OpenCode client so it reloads C:\Users\hp\.config\opencode\opencode.json and picks up the new vids-mcp-go MCP server.

2) Use ffmpeg rendering for simple videos

Use the payload in C:\Users\hp\Desktop\vids-mcp-go\examples\sample-request.json with the tool render_video_from_json.

Best for:

  • quick caption videos
  • low-complexity local exports
  • simple automation pipelines

3) Use Remotion for better-looking videos

Use the payload in C:\Users\hp\Desktop\vids-mcp-go\examples\remotion-request.json with the tool render_video_with_remotion, then poll get_remotion_render_status using the returned job_id.

Best for:

  • cleaner typography
  • animated scene cards
  • stronger visual presentation

4) Use Google Vids automation

Recommended sequence:

  1. Run open_google_vids_project with your Google Vids URL.
  2. In the browser window that opens, sign in to Google if needed.
  3. Run inspect_google_vids_project to verify the page loaded and the automation can see export controls.
  4. Run export_google_vids_video to try downloading the rendered/exported video.

Google Vids automation is best-effort because the Google UI can change.

Tool table

| Tool | Purpose | Main input | | --- | --- | --- | | build_storyboard_from_prompt | Turn a rough idea into a scene-based JSON storyboard | prompt | | validate_video_request | Validate a video JSON payload before rendering | payload | | check_ffmpeg_installation | Confirm ffmpeg is ready | none | | check_node_installation | Confirm Node.js is ready | none | | check_remotion_installation | Confirm Remotion dependencies are ready | none | | render_video_from_json | Render a simple MP4 with ffmpeg | payload | | render_video_with_remotion | Queue a motion-designed MP4 render job with Remotion | payload | | get_remotion_render_status | Poll a queued Remotion render until it completes | job_id | | open_google_vids_project | Open Google Vids in a reusable browser profile | project_url, profile_name | | inspect_google_vids_project | Inspect visible controls in the Google Vids page | project_url, profile_name, browser_channel | | export_google_vids_video | Try to export/download the Google Vids project | project_url, profile_name, download_dir, timeout_seconds, browser_channel |

Example flows

Storyboard to ffmpeg

  1. build_storyboard_from_prompt
  2. validate_video_request
  3. render_video_from_json

Storyboard to Remotion

  1. build_storyboard_from_prompt
  2. adjust theme and font if needed
  3. validate_video_request
  4. render_video_with_remotion
  5. get_remotion_render_status

Google Vids export

  1. open_google_vids_project
  2. sign in manually once in the opened browser profile
  3. inspect_google_vids_project
  4. export_google_vids_video

Notes

  • Remotion downloads its browser on first render if needed.
  • Remotion requests are asynchronous now to avoid MCP request timeouts on longer videos.
  • Video payloads accept both duration_seconds and duration, plus background_color and backgroundColor.
  • Google Vids export depends on your account permissions and current UI labels.
  • Downloaded Google Vids exports default to C:\Users\hp\Desktop\vids-mcp-go\output\google-vids-downloads
Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/AMIROUNI/vids-mcp-go
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "amirouni-vids-mcp-go": { "command": "git", "args": [ "clone", "https://github.com/AMIROUNI/vids-mcp-go" ] } } }