Skip to main content
Glama
obyrned

transcribe-agent

by obyrned
README.md
# Transcribe Agent

A Docker-hosted web application and MCP service that turns YouTube links or uploaded audio into Markdown, plain-text, and Word transcripts.

The service uses existing YouTube captions first and OpenRouter speech-to-text when captions are unavailable. Temporary audio is deleted after processing, and completed jobs expire automatically.

## Pull the image

```bash
docker pull obyrned/transcribe-agent:latest
```

## Run with Docker

```bash
mkdir -p data
docker run --rm \
  -p 8765:8765 \
  -v "$PWD/data:/data" \
  -e OPENROUTER_API_KEY="YOUR_KEY" \
  obyrned/transcribe-agent:latest
```

Open `http://localhost:8765/`.

The server-side key is optional. If it is omitted, users can provide an OpenRouter key for an individual job. Submitted keys are never written to job files or exported documents.

## Docker Compose

```bash
cp .env.example .env
# Add your key to .env if you want a server-side fallback.
docker compose up --build
```

## MCP

The image includes a stdio MCP server:

```bash
docker exec -i transcribe-agent python /app/mcp_server.py
```

The MCP tool requires the caller's OpenRouter key and does not store it.

## Development

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pytest -q
```

Do not commit `.env`, browser cookies, generated transcripts, or API keys. Review the retention and network settings before exposing the service outside a trusted network.