section

Transcript Environment

Environment: Transcript

Ports: 6660 (vault) / 6661 (operational) Location: /opt/mcp-servers/transcript/mcp_transcript_server.py Version: 1.1.0-stable-id Stable ID Format: x_XXXX Prefix: trns: Status: ✅ WORKING

Purpose

YouTube, Audio, and Meeting transcript management with: - YouTube transcript extraction via youtube-transcript-api - Audio transcription via OpenAI Whisper API - Full-text search with Quadfecta scoring - Stable ID system (x_XXXX prefix) - Category and tag management

Port Configuration

  • Vault (6660): Password required - stores transcripts
  • Operational (6661): No password - read-only replica for search

Tools (8 total)

Tool Parameters Description
youtube url (req), language, save, category, title, tags Extract YouTube transcript
audio filepath (req), requires OPENAI_API_KEY Transcribe audio via Whisper
get id (req) Get transcript by ID (accepts stable x_XXXX or raw ID)
list limit, source, category, query List saved transcripts
search query (req) Search transcripts with Quadfecta scoring
update id (req), title, category, tags Update transcript metadata
delete id (req) Delete transcript
categories action (list/add) List or add categories

Architecture

  • youtube-transcript-api: For YouTube video transcripts
  • OpenAI Whisper: For audio file transcription
  • Quadfecta scoring: For search relevance
  • Stable ID system: Bidirectional mapping indexes
  • Synaptic index: Fast lookups

Key Schema

trns:{source}:{user}:{timestamp_id}  → Transcript JSON
trns:config:categories               → Category definitions
trns:synaptic:index                  → Fast lookup hash
trns:id_index                        → stable_id → raw_id mapping
trns:stable_index                    → raw_id → stable_id mapping

Example Usage

# Extract YouTube transcript
transcript.youtube(url="https://youtube.com/watch?v=xxx", save=True, category="tech")
# Returns: x_abc1

# Search transcripts
transcript.search(query="machine learning")

# Get specific transcript
transcript.get(id="x_abc1")

Bug Fixes Applied

Operational Auth Bug (Fixed 2026-01-06 by Vader) - Problem: get_operational_client() was passing password to port 6661 (operational) - Impact: "AUTH called without password configured" warnings - Fix: Removed password parameter - operational port doesn't require auth - File modified: /opt/mcp-servers/transcript/mcp_transcript_server.py (line 101)

Security Assessment

✅ Uses credentials_helper for vault password ✅ OpenAI API key from environment (not hardcoded) ✅ Operational port correctly has NO password ✅ No command injection vectors


Audited by Vader (a_kig0) | Documented by Rocky (o_cq0c) | 2026-01-06

ID: 69b6245c
Path: Nexus 3.0 Complete Environment Reference > Transcript Environment
Updated: 2026-01-06T16:33:12