An MCP server that records bugs via OBS and analyzes them with Gemini. Built for Claude Code.
You know that bug you can't describe? Record it, and let Gemini explain it for you.
- You tell Claude you want to record a bug
- Video Feeder detects your windows, picks the right one, and tells OBS to start recording
- You reproduce the bug and say "done"
- Video Feeder stops recording, uploads to Gemini with your project context, and returns a structured analysis with likely root causes and follow-up questions
No context switching. No "let me try to explain what happens when I..."
| Tool | What it does |
|---|---|
list_windows |
Shows all capturable windows with IDs (macOS) |
start_recording |
Creates an OBS window capture and starts recording |
stop_and_analyze |
Stops recording, sends to Gemini, returns analysis |
analyze_bug |
Analyze an existing video/screenshot (no OBS needed) |
- uv (Python package runner)
- OBS Studio with WebSocket server enabled
- A Gemini API key
- macOS (window detection uses CoreGraphics — OBS control and analysis work anywhere)
Open OBS, go to Tools > WebSocket Server Settings, and toggle it on. Default port is 4455. Note the password if you set one.
Go to Google AI Studio and create an API key. Free tier gives you ~20 requests/day.
claude mcp add --transport stdio -s user video-feeder -- uv run /path/to/server.pyThen add your env vars to the MCP config in ~/.claude.json:
{
"video-feeder": {
"type": "stdio",
"command": "uv",
"args": ["run", "/path/to/server.py"],
"env": {
"GEMINI_API_KEY": "your-key-here"
}
}
}The server will appear as video-feeder in your MCP tools.
Just tell Claude:
"gonna record a bug"
Claude will detect your active window, start OBS recording, wait for you to reproduce, then analyze.
Drop a video or screenshot into the conversation:
"analyze this bug" + attach file
The more context you give, the better the analysis:
"gonna record a bug — working on a React app, seeing a rendering glitch when I scroll the sidebar"
| Variable | Required | Default | Description |
|---|---|---|---|
GEMINI_API_KEY |
Yes | — | Google AI Studio API key |
GEMINI_MODEL |
No | gemini-2.5-flash |
Gemini model to use |
OBS_WEBSOCKET_HOST |
No | localhost |
OBS WebSocket host |
OBS_WEBSOCKET_PORT |
No | 4455 |
OBS WebSocket port |
OBS_WEBSOCKET_PASSWORD |
No | (empty) | OBS WebSocket password |
Video Feeder sends your recording to Gemini with a prompt grounded in the assumption that the developer can't describe the bug — that's why they're recording it. Gemini is told to:
- Describe exactly what it sees, step by step with timestamps
- Identify the bug or unexpected behavior
- Note any error messages or UI state
- Suggest likely root causes
- Ask 2-3 targeted follow-up questions
The response is structured to be actionable by an AI coding assistant, so Claude can immediately start working on the fix.
- macOS only for window detection (
list_windows,start_recordingwithwindow_name). You can still usestart_recordingwith a knownwindow_idon other platforms, or useanalyze_bugwith existing files anywhere. - OBS must be running for recording tools. The
analyze_bugtool works without OBS. - Free Gemini tier is limited to ~20 requests/day. Set
GEMINI_MODELto try different models.
MIT