Skip to main content
Glama

mcp-idea-capture

An MCP server that takes a video URL and gives you back a transcript plus a short "here's the actual idea" summary. It's for the case where you see something useful in a reel or a talk and don't want to sit and type it out.

It pulls the audio with yt-dlp, transcribes it with Groq's Whisper API, and runs the transcript through an LLM (Gemini by default) to pull out the point. yt-dlp supports a lot of sites, not just one. Nothing is saved until you decide it's worth keeping.

Tools

tool

what it does

capture_idea_from_video(url)

download audio, transcribe, extract the idea. Returns everything; saves nothing.

store_idea(title, idea_summary, source_url="")

append an ### idea-NNN entry to IDEAS_FILE (default ./ideas.md)

Private or login-gated videos come back with a plain message instead of a crash.

Setup

git clone https://github.com/<you>/mcp-idea-capture
cd mcp-idea-capture
python -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt

cp .env.example .env      # add your keys
python test_client.py     # lists the tools
python test_client.py "https://www.youtube.com/shorts/XXXX"   # runs the pipeline

Keys (put them in .env or the environment):

  • GROQ_API_KEY - transcription. Free tier at console.groq.com, no card.

  • GEMINI_API_KEY - idea extraction. Free tier at aistudio.google.com. GOOGLE_API_KEY works as an alias.

Optional: IDEAS_FILE, WHISPER_MODEL (default whisper-large-v3), GEMINI_MODEL (default gemini-3.5-flash).

Adding it to an MCP client

~/.claude.json or claude_desktop_config.json:

{
  "mcpServers": {
    "idea-capture": {
      "command": "/abs/path/mcp-idea-capture/.venv/bin/python",
      "args": ["/abs/path/mcp-idea-capture/server.py"]
    }
  }
}

Notes

  • Audio only. It never downloads or stores the video, just the audio, long enough to transcribe, then the temp folder is deleted.

  • Groq caps uploads around 25 MB, so very long videos will be rejected. Clip them first.

  • The idea-extraction prompt is short and opinionated on purpose (give the point, don't retell). Edit _extract_idea in server.py if you want a different style.

License

MIT.