Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/Galbaz1/video-research-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/galbaz1/video-research-mcp/video-chat)<a href="https://agentmods.dev/commands/galbaz1/video-research-mcp/video-chat"><img src="https://agentmods.dev/badge/commands/galbaz1/video-research-mcp/video-chat/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/galbaz1/video-research-mcp/video-chat"><img src="https://agentmods.dev/badge/commands/galbaz1/video-research-mcp/video-chat.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00006 | $0.01653 |
| Opus 5 | $0.00003 | $0.00826 |
| Sonnet 5 | $0.00001 | $0.00331 |
| Haiku 4.5 | $0.00001 | $0.00165 |
Grade B, and why
video-chat scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
1. Determine the memory directory: find the `.claude/` project memory path for the current working directory. Use `Glob` on `~/.claude/projects/*/memory/` to find the active project memory path if needed. How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Video Chat: $ARGUMENTS
Start an interactive Q&A session with a video, progressively building knowledge.
Session Setup
-
Determine the input type from "$ARGUMENTS":
- If it starts with
http://orhttps://: usevideo_create_sessionwithurlparameter - Otherwise (file path): use
video_create_sessionwithfile_pathparameter
- If it starts with
-
For YouTube URLs: check
<memory-dir>/gr/media/videos/<video_id>.mp4first.- If present: call
video_create_session(file_path="<that local path>")for fastest local reuse. - If missing: ask user whether to download via
video_create_session(download=true)or stream directly. - For local files, call
video_create_session(file_path=...)directly.
- If present: call
-
Use description="Interactive Q&A session" for the session creation
-
Present the video title and session info. If
download_statusis present, explain:"downloaded"+cache_status="cached": "Video downloaded and cached — each turn will be fast and cost-efficient.""downloaded"+cache_status="uncached": "Video downloaded but cache creation failed — still faster than streaming (no re-fetch per turn).""unavailable": "yt-dlp not found. Install it withbrew install yt-dlpfor cached sessions. Continuing with streaming.""failed": "Download failed. Continuing with streaming."
Initialize Memory
-
Determine the memory directory: find the
.claude/project memory path for the current working directory. UseGlobon~/.claude/projects/*/memory/to find the active project memory path if needed. -
Generate a slug from the video title: lowercase, hyphens, no special chars, max 50 chars
-
Check if a prior analysis exists at
<memory-dir>/gr/video/<slug>/analysis.md- If yes: read it, note existing concepts and knowledge states. The chat builds on prior analysis.
- If no: this chat creates a fresh knowledge entry.
-
Use
Writeto create<memory-dir>/gr/video-chat/<slug>/analysis.md:
---
source: <youtube-url-or-file-path>
analyzed: <ISO 8601 timestamp>
updated: <ISO 8601 timestamp>
session_id: <session_id>
concepts: []
---
# <Video Title> — Chat Session
> Source: <url-or-path>
> Session started: <YYYY-MM-DD HH:MM>
## Q&A
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 171 lines · 6 tokens per session scan B 2e705a2f1987
video-chat is a command published in the GitHub repository Galbaz1/video-research-mcp (23 stars, last pushed 1mo ago), licensed MIT. It adds 6 tokens to every session and 1,653 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
setup-video-vision
Interactive setup wizard for claude-video-vision — configure backend, whisper, frames, and verify dependencies.
eg-new-feature
Build a new feature using the elephant/goldfish workflow — design doc, goldfish design check, implement, review, validate.
eg-fix-bug
Fix a bug using the elephant/goldfish workflow — problem doc, goldfish diagnosis check, failing test, fix, review, validate.
dock-chat
Dock the full conversation to Telegram — drive Claude from your phone.
mem-prune
Removes old low-importance memories.
mem-last
Prints latest memory cards for the current project.