mcp-idea-capture
README.md
# 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
```bash
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`:
```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.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues