# Local Stt Mcp

> A high-performance Model Context Protocol (MCP) server providing local speech-to-text transcription using whisper.cpp, optimized for Apple Silicon.

- **Type:** MCP server
- **Install:** `agentstack add mcp-smartlittleapps-local-stt-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [SmartLittleApps](https://agentstack.voostack.com/s/smartlittleapps)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [SmartLittleApps](https://github.com/SmartLittleApps)
- **Source:** https://github.com/SmartLittleApps/local-stt-mcp

## Install

```sh
agentstack add mcp-smartlittleapps-local-stt-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Local Speech-to-Text MCP Server

A high-performance Model Context Protocol (MCP) server providing local speech-to-text transcription using whisper.cpp, optimized for Apple Silicon.

## 🎯 Features

- **🏠 100% Local Processing**: No cloud APIs, complete privacy
- **🚀 Apple Silicon Optimized**: 15x+ real-time transcription speed
- **🎤 Speaker Diarization**: Identify and separate multiple speakers
- **🎵 Universal Audio Support**: Automatic conversion from MP3, M4A, FLAC, and more
- **📝 Multiple Output Formats**: txt, json, vtt, srt, csv
- **💾 Low Memory Footprint**: <2GB memory usage
- **🔧 TypeScript**: Full type safety and modern development

## 🚀 Quick Start

### Prerequisites

- Node.js 18+
- whisper.cpp (`brew install whisper-cpp`)
- **For audio format conversion**: ffmpeg (`brew install ffmpeg`) - automatically handles MP3, M4A, FLAC, OGG, etc.
- **For speaker diarization**: Python 3.8+ and HuggingFace token (free)

### Supported Audio Formats

- **Native whisper.cpp formats**: WAV, FLAC
- **Auto-converted formats**: MP3, M4A, AAC, OGG, WMA, and more
- **Automatic conversion**: Powered by ffmpeg with 16kHz/mono optimization for whisper.cpp
- **Format detection**: Automatic format detection and conversion when needed

### Installation

```bash
git clone https://github.com/your-username/local-stt-mcp.git
cd local-stt-mcp/mcp-server
npm install
npm run build

# Download whisper models
npm run setup:models

# For speaker diarization, set HuggingFace token
export HF_TOKEN="your_token_here"  # Get free token from huggingface.co
```

**Speaker Diarization Note**: Requires HuggingFace account and accepting [pyannote/speaker-diarization-3.1](https://huggingface.co/pyannote/speaker-diarization-3.1) license.

### MCP Client Configuration

Add to your MCP client configuration:

```json
{
  "mcpServers": {
    "whisper-mcp": {
      "command": "node",
      "args": ["path/to/local-stt-mcp/mcp-server/dist/index.js"]
    }
  }
}
```

## 🛠️ Available Tools

| Tool | Description |
|------|-------------|
| `transcribe` | Basic audio transcription with automatic format conversion |
| `transcribe_long` | Long audio file processing with chunking and format conversion |
| `transcribe_with_speakers` | Speaker diarization and transcription with format support |
| `list_models` | Show available whisper models |
| `health_check` | System diagnostics |
| `version` | Server version information |

## 📊 Performance

**Apple Silicon Benchmarks:**
- **Processing Speed**: 15.8x real-time (vs WhisperX 5.5x)
- **Memory Usage**: <2GB (vs WhisperX ~4GB)
- **GPU Acceleration**: ✅ Apple Neural Engine
- **Setup**: Medium complexity but superior performance

See `/benchmarks/` for detailed performance comparisons.

## 🏗️ Project Structure

```
mcp-server/
├── src/                    # TypeScript source code
│   ├── tools/             # MCP tool implementations
│   ├── whisper/           # whisper.cpp integration
│   ├── utils/             # Speaker diarization & utilities
│   └── types/             # Type definitions
├── dist/                  # Compiled JavaScript
└── python/                # Python dependencies
```

## 🔧 Development

```bash
# Build
npm run build

# Development mode (watch)
npm run dev

# Linting & formatting
npm run lint
npm run format

# Type checking
npm run type-check
```

## 🤝 Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests
5. Submit a pull request

## 📄 License

MIT License - see LICENSE file for details.

## 🙏 Acknowledgments

- [whisper.cpp](https://github.com/ggerganov/whisper.cpp) for optimized inference
- [OpenAI Whisper](https://github.com/openai/whisper) for the original models
- [Model Context Protocol](https://modelcontextprotocol.io/) for the framework
- [Pyannote.audio](https://github.com/pyannote/pyannote-audio) for speaker diarization

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [SmartLittleApps](https://github.com/SmartLittleApps)
- **Source:** [SmartLittleApps/local-stt-mcp](https://github.com/SmartLittleApps/local-stt-mcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-smartlittleapps-local-stt-mcp
- Seller: https://agentstack.voostack.com/s/smartlittleapps
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
