# Live Audio Intelligence [Health: Active]

**Category:** 🎙️ Speech-to-Text  
**Repository:** https://github.com/ykshah1309/live-audio-intelligence-mcp  
**GitHub Stars:** 1  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/live-audio-intelligence

## Description
Live webcast transcription + vocal stress analysis (F0 jitter, hesitation) for earnings calls.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "live-audio-intelligence": {
    "command": "uvx",
    "args": ["live-audio-intelligence-mcp"],
    "env": {
      "LAI_MAX_CONCURRENT_STREAMS": ""
    }
  }
}
```

**Requires environment variables:** `LAI_MAX_CONCURRENT_STREAMS` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What the Live Audio Intelligence MCP server does

The Live Audio Intelligence MCP server monitors live webcast audio and makes two parallel outputs available to an MCP client: a rolling transcript and a vocal stress estimate. It is intended for financial webcasts such as earnings calls, investor days, and CNBC streams, where an agent may need to examine recent statements and delivery characteristics during the event.

The transcript comes from the `faster-whisper` base English model running with int8 CPU inference. The stress result combines pitch jitter, hesitation time, and the fraction of frames classified as unvoiced. The result is a score from 0 to 100, accompanied by the component measurements, pause statistics, and a textual interpretation.

## How it works

Call `monitor_live_stream` with a webcast URL to start a stream. The server uses yt-dlp to resolve an audio URL, launches FFmpeg, and converts incoming audio into 16 kHz mono PCM. Audio is processed in 15-second WAV chunks. Whisper contributes text to a rolling buffer, while librosa's pYIN analysis and pause detection calculate the prosodic inputs for the stress result.

Blocking operations, including transcription, FFmpeg I/O, and digital signal processing, run in worker threads so the MCP event loop can continue handling requests. After monitoring starts, the client receives a `stream_id` for later transcript, analysis, and shutdown calls.

The default score weights pitch jitter at 50%, hesitation ratio at 35%, and unvoiced fraction at 15%. The score bands describe increasingly elevated delivery characteristics, but the weights and thresholds are hand-selected rather than fitted to labeled recordings or market outcomes.

## Setup and configuration

Python 3.10 or newer and the FFmpeg system binary are required. Install FFmpeg through a platform package manager, then install the Python package with `pip install live-audio-intelligence-mcp`, or run it with `uvx live-audio-intelligence-mcp`. Start the stdio process with `live-audio-intelligence-mcp` or `python -m live_audio_intelligence_mcp`.

The first launch downloads the faster-whisper base English model, approximately 140 MB, from Hugging Face and caches it locally. Claude Desktop can use the executable as an MCP server command, and Claude Code can register it with `claude mcp add`.

Set `LAI_MAX_CONCURRENT_STREAMS` to change the default limit of four simultaneous streams. Each stream uses subprocesses, a worker thread, and a temporary directory; attempts beyond the limit raise an error instead of queuing. For noisy speakerphone audio, pass `disable_vad=true` when starting the monitor to preserve more speech at the cost of additional ambient noise.

## Tools and capabilities

The server exposes four stdio tools:

- `monitor_live_stream(url, disable_vad=false)` starts audio capture and returns a stream identifier.
- `get_rolling_transcript(stream_id, minutes_back=10)` returns concatenated transcript text from the requested recent interval.
- `analyze_speaker_stress(stream_id, time_window_seconds=60)` analyzes recent audio and returns the score, acoustic measurements, pause data, and interpretation.
- `stop_monitor(stream_id)` stops FFmpeg, removes temporary files, and discards the transcript buffer.

## Limitations and notes

The Live Audio Intelligence MCP server depends on yt-dlp being able to resolve the supplied URL. Unsupported sites or malformed URLs fail during resolution. Live streams may also need time to buffer before they contain enough voiced audio for analysis.

The Live Audio Intelligence MCP server's stress number is a coarse signal, not a validated indicator of confidence, deception, or market impact. Its calibration script tests responses on synthetic audio; it does not validate performance against real earnings-call outcomes. Consumers needing meaningful absolute thresholds should recalibrate against their own recordings. Muddy conference-call audio can produce insufficient voiced frames or less reliable measurements, particularly when voice activity detection remains enabled.

_Full upstream README: https://allmcps.com/mcp/live-audio-intelligence/readme_

