Skip to main content
Glama

Augent — The Audio Layer for Agents

If the answer is trapped in audio or video, this is the way through.

Augent turns any audio or video source into structured, searchable intelligence for agents. Give it URLs or files. It downloads, transcribes, indexes, and stores everything in persistent memory. Search by keyword or meaning, find where concepts intersect, identify speakers, generate chapters and notes, batch process entire libraries, and more. One install, full pipeline, entirely on your machine.

If you want the quality info from content without sitting through it, the fastest way, this is it.

Preferred setup: run the one-line installer in your terminal. One command installs Augent, all dependencies, and the MCP server config. Works on macOS and Linux. Windows: install via pip. Works with Claude Code, Codex, and any MCP client. New install? Start here: Getting started.

Install

curl -fsSL https://augent.app/install.sh | bash

Works on macOS and Linux. Installs everything automatically.

Windows: pip install "augent[all] @ git+https://github.com/AugentDevs/Augent.git"

The installer is a single bash script (source). Every dependency is open source:

Dependency

What it does

Python

Runtime

FFmpeg

Audio processing

yt-dlp

Media downloads

aria2

Parallel downloads

espeak-ng

TTS phonemizer

faster-whisper

Speech-to-text

PyTorch

ML framework

sentence-transformers

Semantic search

pyannote-audio

Speaker diarization

Kokoro

Text-to-speech

Demucs

Audio source separation

FastAPI

Local web UI

No background services. No telemetry. No sudo on macOS.

Full breakdown

What each phase installs and why

Manual install

Step-by-step for macOS, Linux, and Windows

Uninstall

How to fully remove Augent

Related MCP server: video-analyzer

How it works (short)

graph TB
    A["URL / File"] --> B["Download + Separate"]
    B --> C["Transcribe"]
    C --> D["Memory + Tag"]

    D --> E["Search"]
    D --> F["Analyze"]
    D --> G["Export"]

    style A fill:#0d2618,stroke:#00f060,color:#00f060,stroke-width:2px
    style B fill:#0d2618,stroke:#00f060,color:#00f060,stroke-width:2px
    style C fill:#0d2618,stroke:#00f060,color:#00f060,stroke-width:2px
    style D fill:#0d2618,stroke:#00f060,color:#00f060,stroke-width:2px
    style E fill:#0a0a0a,stroke:#00f060,color:#00f060,stroke-width:2px
    style F fill:#0a0a0a,stroke:#00f060,color:#00f060,stroke-width:2px
    style G fill:#0a0a0a,stroke:#00f060,color:#00f060,stroke-width:2px

    linkStyle default stroke:#00f060,stroke-width:1.5px

Full architecture →

Project Structure

augent/
├── mcp.py          # MCP server — 22 tools for agents
├── config.py       # User configuration (~/.augent/config.yaml)
├── core.py         # Transcription engine (faster-whisper)
├── search.py       # Keyword search
├── embeddings.py   # Semantic search, chapters, visual scoring
├── speakers.py     # Speaker diarization (pyannote-audio)
├── separator.py    # Audio source separation (Demucs v4)
├── tts.py          # Text-to-speech (Kokoro)
├── memory.py       # Three-layer memory (SQLite)
├── graph.py        # Obsidian graph view (wikilinks, MOCs, frontmatter)
├── clips.py        # CLI clip extraction (audio segments around matches)
├── export.py       # Export formats (JSON, CSV, SRT, VTT, MD)
├── cli.py          # CLI interface
└── web.py          # Web UI (FastAPI)

MCP Tools

The primary way to use Augent. Any MCP client gets direct access to all tools.

Add to ~/.claude.json (global) or .mcp.json (project):

{
  "mcpServers": {
    "augent": {
      "command": "augent-mcp"
    }
  }
}

Restart Claude Code. Run /mcp to verify connection.

Tool

Description

download_audio

Download audio from video URLs at maximum speed (1,000+ supported sites)

transcribe_audio

Full transcription with metadata

search_audio

Find keywords with timestamps and context snippets

deep_search

Search audio by meaning, not just keywords (semantic search)

take_notes

Take notes from any URL with style presets

chapters

Auto-detect topic chapters in audio with timestamps

batch_search

Search multiple files in parallel, built for batch workflows and agent swarms

text_to_speech

Convert text to natural speech audio (Kokoro TTS, 54 voices, 9 languages)

search_proximity

Find where keywords appear near each other

identify_speakers

Identify who speaks when in audio (speaker diarization)

separate_audio

Isolate vocals from music and background noise (Demucs v4)

clip_export

Export a video clip from a URL for a specific time range

highlights

Export MP4 clips of specific moments, auto-pick the best or target exactly what you want

tag

Add, remove, or list tags on transcriptions for organized filtering

visual

Extract visual context from video at moments that matter (query, auto, or manual)

rebuild_graph

Rebuild Obsidian graph view data for all transcriptions

search_memory

Search across ALL stored transcriptions by keyword or meaning

list_files

List media files in a directory

list_memories

List stored transcriptions by title

memory_stats

View transcription memory statistics

clear_memory

Clear stored transcriptions

spaces

Download, check, or stop X/Twitter Spaces recordings

Full tool reference →

"Download these 10 podcasts and find every moment a host covers a product in a positive or unique way. Not just brand mentions, only real endorsements or life-changing recommendations. Give me the timestamps and exactly what they said: url1, url2, url3, url4, url5, url6, url7, url8, url9, url10"

CLI

Full CLI for terminal-based workflows. Works standalone or with any agent.

Command

Description

audio-downloader "URL"

Download audio from video URL (speed-optimized)

augent search audio.mp3 "keyword"

Search for keywords

augent transcribe audio.mp3

Full transcription

augent proximity audio.mp3 "A" "B"

Find keyword A near keyword B

augent memory search "query"

Search across all stored transcriptions

augent memory stats

View memory statistics

augent memory list

List stored transcriptions

augent memory clear

Clear memory

Eyes & Ears

Someone explains their entire workflow in a video. Augent transcribes it, builds the workflow files, maps the sequencing, the decision points, the tool stack. Every piece structured into something an agent can act on.

But some steps are inherently visual. Augent detects where visual context is needed and exports multiple screenshots at those moments, giving the agent frame-by-frame context of the flow being described. Audio intelligence plus visual context equals a complete, replicable system.

graph TB
    A["Expert explains workflow or automation"] --> B["Augent transcribes + structures"]
    B --> C["Builds workflow files + sequencing"]

    C --> D["Maps decision logic"]
    C --> E["Identifies tools + platforms"]
    C --> F["Flags visual gaps"]

    F --> G["Exports screenshots for context"]
    D --> H["Ready to run"]
    E --> H
    G --> H

    style A fill:#0d2618,stroke:#00f060,color:#00f060,stroke-width:2px
    style B fill:#0d2618,stroke:#00f060,color:#00f060,stroke-width:2px
    style C fill:#0d2618,stroke:#00f060,color:#00f060,stroke-width:2px
    style D fill:#0a0a0a,stroke:#00f060,color:#00f060,stroke-width:2px
    style E fill:#0a0a0a,stroke:#00f060,color:#00f060,stroke-width:2px
    style F fill:#0a0a0a,stroke:#00f060,color:#00f060,stroke-width:2px
    style G fill:#0a0a0a,stroke:#00f060,color:#00f060,stroke-width:2px
    style H fill:#0d2618,stroke:#00f060,color:#00f060,stroke-width:2px

Read more →

X/Twitter Spaces

Download or live-record Twitter/X Spaces audio. Auto-detects whether a Space is live or ended and handles both. Live Spaces record from the current moment using ffmpeg, ended Spaces download the full recording via yt-dlp. All downloads run in the background so your agent keeps working.

One-time setup

X/Twitter requires authentication to access Space audio. Any account works, including a burner.

  1. Log into x.com in any browser

  2. Open DevTools (F12 or Cmd+Option+I) > Application > Cookies > https://x.com

  3. Copy the auth_token and ct0 values

  4. Create ~/.augent/auth.json:

{"auth_token": "PASTE_HERE", "ct0": "PASTE_HERE"}

Tokens are stored locally and only sent to Twitter's servers to fetch audio. Augent never posts, DMs, follows, or modifies anything on your account. To revoke access, log out of Twitter or delete ~/.augent/auth.json.

Claude Code Skill

Claude and Codex already know how to use Augent's tools from their descriptions. The skill adds advanced workflows on top: multi-step note-taking pipelines, auto-tagging rules, translation flows, quiz formatting, and optimal search strategies.

mkdir -p ~/.claude/skills/augent
curl -o ~/.claude/skills/augent/SKILL.md \
  https://raw.githubusercontent.com/AugentDevs/Augent/main/skills/augent/SKILL.md

Works globally across all projects. One install, every conversation benefits.

OpenClaw

Augent is available as an OpenClaw skill on ClawHub.

Install via ClawHub:

npx clawhub@latest install augent

Or set up manually:

augent setup openclaw

If you installed Augent with curl -fsSL https://augent.app/install.sh | bash, OpenClaw is detected and configured automatically. These commands are only needed for manual setup or pip installs.

Obsidian Graph View

Every transcription builds a node. Every shared tag builds a connection. Your audio memory becomes a navigable knowledge graph, entirely automatic.

Every take_notes call, every transcription, every tag creates structure: YAML frontmatter, [[wikilinks]] between related content, and MOC hub files that cluster topics. Run rebuild_graph once to upgrade existing memory. The graph grows on its own from there.

Use Augent inside your main Obsidian vault, alongside your personal notes, journals, and projects. Everything compounds together. Full guide.

Using Claude Code or Codex with Obsidian? Set up augent-obsidian to make every .txt and .md file on your Mac open directly in Obsidian, with automatic sync for external edits.

Multilingual

Augent transcribes audio in its original language with full accuracy, powered by OpenAI's Whisper, supporting 99 languages including Chinese, French, Spanish, Japanese, Arabic, Hindi, Korean, German, Russian, Portuguese, and many more. Language is auto-detected, no configuration needed. Translation to English is handled by Claude (or your LLM), producing far better translations than any local model.

  • When a transcription returns a non-English language, the MCP response includes a translation offer

  • Accepting stores a clean English (eng) sibling file in memory alongside the original

  • Both the original and translated versions appear in the Memory Explorer

Model Sizes

tiny is the default. Handles everything from clean studio recordings to noisy field audio. Use small or above for heavy accents, poor audio, or lyrics.

Model

Speed

Accuracy

tiny

Fastest

Excellent (default)

base

Fast

Excellent

small

Medium

Superior

medium

Slow

Outstanding

large

Slowest

Maximum

Configuration

Customize defaults and disable tools you don't need via ~/.augent/config.yaml:

# ~/.augent/config.yaml
model_size: tiny           # Default Whisper model
output_dir: ~/Downloads    # Default download directory
notes_output_dir: ~/Desktop # Notes, clips, TTS output
clip_padding: 15           # Seconds of padding around clips
context_words: 25          # Words of context in search results
tts_voice: af_heart        # Default TTS voice
tts_speed: 1.0             # TTS speed multiplier
disabled_tools: []         # Hide tools from MCP clients

Per-call arguments always override config. No config file needed, all values have sensible defaults.

Configuration docs →

Web UI

Local web interface. Runs 100% locally. No internet, no API keys, no data leaves your machine.

augent-web

Open: http://127.0.0.1:8282

Search view:

  1. Upload an audio file or paste a YouTube/video URL to download audio directly

  2. Enter keywords separated by commas

  3. Click SEARCH and results stream live with timestamps and context

  4. YouTube timestamps are automatically hyperlinked when the source is YouTube

Clip export:

  • Click the film icon on any search result to create a visual region on the waveform, or drag on the waveform to select any range manually

  • Nudge buttons (±1s / ±5s) on each edge for precise boundary adjustment

  • Preview plays only the selected range so you hear exactly what will be exported

  • Export MP4 downloads only the selected segment, not the full video

  • Keyboard shortcuts: Space preview, Enter export, Esc close

Memory Explorer:

  • Browse all stored transcriptions, including files transcribed via MCP or CLI. Every tool writes to the same memory.

  • View full transcripts with clickable YouTube timestamps

  • Delete individual transcriptions from memory

  • Show Audio to reveal the source audio file in Finder

  • Show Transcript to reveal the .md transcript file in Finder. Drag it into a Claude Code session to run the full MCP pipeline on a previously transcribed file.

  • Share as HTML to download a self-contained, shareable transcript page

  • Search across all memories by keyword to find matches across every transcription in your library

Source URL persistence: When audio is downloaded from any URL (YouTube, Twitter/X, TikTok, Instagram, SoundCloud, and 1000+ sites) the source URL is permanently stored by file hash. Any future search or transcription of that file, even weeks later or from a different path, automatically links back to the original source. No need to re-enter the URL.

Command

Description

augent-web

Start on port 8282

augent-web --port 8585

Custom port

Star History

Contributing

PRs welcome. Open an issue for bugs or feature requests.

License

MIT

Available Tools

22 tools
chaptersB

Auto-detect topic chapters in audio.

Inputs: audio_path (required), model_size, sensitivity.

clear_memoryA

Clear the transcription memory to free disk space.

Inputs: no named parameters.

clip_exportA

Export a video clip from a URL for a specific time range. Downloads only the requested segment — not the full video. Perfect for extracting moments around keyword matches. Supports YouTube and 1000+ sites.

Inputs: end (required), url (required), start (required), output_dir, +1 more.

download_audioA

Download audio from video URLs at maximum speed. Built by Augent with speed optimizations (aria2c multi-connection, concurrent fragments). Downloads audio ONLY - never video. Supports YouTube, Vimeo, TikTok, Twitter, SoundCloud, and 1000+ sites. IMPORTANT: When a user pastes ANY URL and asks what was said, what happened, or wants the content — use this tool to download, then transcribe_audio to get the text. This is the correct path for tweets, videos, podcasts, and any link with audio/video content. Do NOT use WebFetch for media URLs.

Inputs: url (required), output_dir.

highlightsA

Export MP4 clips of specific moments. Two modes: auto (AI picks top moments by quotability and insight density) or focused (find moments matching a specific topic, person, or concept). Returns timestamps and text for each highlight, the calling agent decides which to export as clips.

Inputs: audio_path (required), clip, query, top_k, +3 more.

identify_speakersC

Identify who speaks when in audio.

Inputs: audio_path (required), model_size, num_speakers.

list_filesB

List media files in a directory.

Inputs: directory (required), pattern, recursive.

list_memoriesA

List all stored transcriptions with their titles, durations, dates, and file paths to markdown files. Useful for browsing what has already been transcribed.

Inputs: no named parameters.

memory_statsA

View transcription memory statistics including number of stored files and total duration.

Inputs: no named parameters.

rebuild_graphA

Rebuild Obsidian graph view data for all transcriptions. Migrates .md files to YAML frontmatter format, computes [[wikilinks]] between semantically related transcriptions, and generates MOC (Map of Content) hub files for tag clusters. Safe to run repeatedly. Run this once to upgrade existing memory for Obsidian.

Inputs: min_moc_members.

search_audioA

Search audio files for keywords and return timestamped matches with context snippets. Useful for finding specific moments in podcasts, interviews, lectures, or any audio content.

Inputs: keywords (required), audio_path (required), clip, output, +3 more.

search_memoryA

Search across ALL stored transcriptions. No audio_path needed, queries everything in memory. Default mode is 'keyword' (literal match). Use 'semantic' mode for meaning-based search.

Inputs: query (required), mode, top_k, output, +2 more.

search_proximityA

Find where one keyword appears near another keyword in audio. Useful for finding contextual discussions, e.g., 'startup' near 'funding'.

Inputs: keyword1 (required), keyword2 (required), audio_path (required), output, +2 more.

separate_audioA

Separate audio into stems (vocals, drums, bass, other) using Meta's Demucs v4. Isolates vocals from music, background noise, and other sounds. Use this before transcription when audio has music, intros, or heavy background noise for dramatically cleaner results.

Inputs: audio_path (required), model, vocals_only.

spacesA

Download or live-record a Twitter/X Space. Three modes: (1) Pass url to start a download (returns recording_id), (2) Pass recording_id to check status, (3) Pass recording_id + stop=true to stop a live recording.

Inputs: url, stop, output_dir, recording_id.

tagA

Add, remove, or list tags on a transcription. Tags are broad topic categories (e.g. 'AI', 'Health', 'Music') that help organize and filter memories in the Web UI.

Inputs: action (required), cache_key (required), tags.

take_notesA

Take notes from a URL. Downloads audio, transcribes, and saves .md to Desktop. This single tool handles the entire pipeline — download, transcribe, and save — when the user asks for notes, summaries, highlights, takeaways, eye-candy, quiz, or any formatted content from a video/audio URL. Returns audio_path for follow-up tools (chapters, search). Also used to SAVE formatted notes: call with save_content to write notes to the file from the previous take_notes call (no url needed).

Inputs: url, style, model_size, output_dir, +3 more.

text_to_speechA

Convert text to natural speech audio using Kokoro TTS. Saves an MP3 file. Runs in background — returns a job_id immediately. Call again with job_id to check status. Pass text for raw TTS, or file_path to read a notes file (strips markdown, skips metadata, embeds audio player).

Inputs: text, speed, voice, job_id, +3 more.

transcribe_audioA

Transcribe an audio file and return the full text with timestamps. Useful when you need the complete transcription rather than searching for specific keywords.

Inputs: audio_path (required), start, output, duration, +2 more.

visualA

ONLY call this tool when the user explicitly asks for visual context, screenshots, or frames. Do NOT call it alongside take_notes or download_audio unless the user specifically requests visuals. Extract visual context from a video at moments that matter. Four modes: (1) Query mode (default): describe what you need visual context for and the tool finds those moments in the transcript, then extracts frames. (2) Auto mode: autonomously detects moments where the speaker implies visual content (UI actions, screen recordings, demonstrations). (3) Manual mode: extract frames at specific timestamps. (4) Assist mode: analyzes the transcript for visual gaps and returns time ranges where the user should provide their own screenshots (ideal for talking-head videos where the speaker describes a UI but doesn't show it). Frames are stored in augent memory alongside the transcription and embedded in the .md file as Obsidian wikilinks.

Inputs: url, auto, clear, query, +7 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 22 tools

    Disambiguation3/5

    The set includes multiple search tools (search_audio, deep_search, batch_search, search_memory, search_proximity) with overlapping capabilities, which could confuse an agent about which to use. Additionally, clip_export and highlights both export video clips, and download_audio and spaces both handle Twitter content. Most other tools are distinct.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (download_audio, transcribe_audio, list_memories), but several are single-word nouns (chapters, tag, highlights, visual, spaces) and deep_search doesn't match the search_* convention. Overall still readable and predictable.

    Tool Count4/5

    With 22 tools, the server is slightly above the ideal 3-15 range, but the broad scope of audio/video processing, memory management, and export features justifies this count. It feels heavy but not excessive.

    Completeness4/5

    The tool set covers the full pipeline from download to transcription, search, note-taking, and export, including optional enhancements like speaker identification and audio separation. However, it lacks individual transcription deletion (only clear_memory) and a direct get-by-ID retrieval, which are minor gaps.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers