Skip to main content
Glama

MCP Audio Transcriber

A Dockerized Python tool that implements the Model Context Protocol (MCP) via AssemblyAI's API. Upload or point to an audio file, and receive a structured JSON transcription.

Features

  • AssemblyMCP: a concrete MCP implementation that uses AssemblyAI's REST API

  • Command-line interface (app.py):

    python app.py <input_audio> <output_json>
  • Streamlit web UI (streamlit_app.py):

    • Upload local files or paste URLs

    • Click Transcribe

    • Preview transcript and download JSON

  • Docker support for environment consistency and portability

Related MCP server: Fast-Whisper-MCP-Server

Prerequisites

  • Python 3.10+

  • An AssemblyAI API key

  • ffmpeg (for local decoding, if using local files)

  • (Optional) Docker Desktop / Engine

  • (Optional) Streamlit (pip install streamlit)

🔧 Installation

  1. Clone the repo

    git clone https://github.com/ShreyasTembhare/MCP---Audio-Transcriber.git
    cd MCP---Audio-Transcriber
  2. Create a .env

    ASSEMBLYAI_API_KEY=your_assemblyai_api_key_here
  3. Ensure .gitignore contains:

    .env
  4. Install Python dependencies

    pip install --upgrade pip
    pip install -r requirements.txt
  5. Install ffmpeg

    • Ubuntu/Debian: sudo apt update && sudo apt install ffmpeg -y

    • Windows: download from https://ffmpeg.org and add its bin/ to your PATH

Usage

1. CLI Transcription

python app.py <input_audio> <output_json>
  • <input_audio>: any file or URL supported by AssemblyAI

  • <output_json>: path for the generated JSON

Example:

python app.py data/input.ogg data/output.json
cat data/output.json

2. Streamlit Web UI

streamlit run streamlit_app.py

3. Docker

Build the image:

docker build -t mcp-transcriber .

Run it (mounting your data/ folder):

docker run --rm \
  -e ASSEMBLYAI_API_KEY="$ASSEMBLYAI_API_KEY" \
  -v "$(pwd)/data:/data" \
  mcp-transcriber:latest \
  /data/input.ogg /data/output.json

Then inspect:

ls data/output.json
cat data/output.json

Windows PowerShell:

docker run --rm `
  -e ASSEMBLYAI_API_KEY=$env:ASSEMBLYAI_API_KEY `
  -v "${PWD}\data:/data" `
  mcp-transcriber:latest `
  /data/input.ogg /data/output.json

Project Structure

MCP-Audio-Transcriber/
├── app.py               # CLI entrypoint (AssemblyMCP only)
├── mcp.py               # ModelContextProtocol + AssemblyMCP
├── streamlit_app.py     # Streamlit interface
├── requirements.txt     # assemblyai, python-dotenv, streamlit, etc.
├── Dockerfile           # builds the container
├── .gitignore           # ignores .env, __pycache__, etc.
├── LICENSE              # MIT license
└── data/                # sample input and output
    ├── input.ogg
    └── output.json

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A high-performance speech recognition MCP server based on Faster Whisper, providing efficient audio transcription capabilities with support for multiple model sizes, batch processing, and various output formats.
    17
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that gives AI agents the ability to process audio files — transcribe speech to text, detect spoken languages, and extract audio metadata.
    1
    -
  • A
    license
    A
    quality
    F
    maintenance
    Provides local audio transcription using whisper.cpp, supporting multiple models and audio formats. Enables transcription of audio files via MCP tools with optional timestamps.
    3
    85 npm
    3
    MIT