# Speakly

> High-performance, extensible speech recognition toolkit for Rust — OpenAI Whisper, Google, ByteDance Doubao, local Whisper.cpp

- **Type:** MCP server
- **Install:** `agentstack add mcp-speak-rs-speakly`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [speak-rs](https://agentstack.voostack.com/s/speak-rs)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [speak-rs](https://github.com/speak-rs)
- **Source:** https://github.com/speak-rs/speakly
- **Website:** https://github.com/speak-rs/speakly

## Install

```sh
agentstack add mcp-speak-rs-speakly
```

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

## About

# Speakly

[](https://github.com/speak-rs/speakly/actions)
[](LICENSE)
[](https://www.rust-lang.org)

High-performance, extensible speech recognition in Rust. Use local Whisper or cloud APIs (OpenAI, Google, Doubao) as a **library**, **CLI**, **MCP server**, or **desktop GUI**.

**[中文](README.zh-CN.md)**

## Why Speakly?

| Feature | whisper-rs | transcribe-rs | **Speakly** |
|---------|:----------:|:-------------:|:-----------:|
| Local Whisper engine | ✅ | ✅ | ✅ |
| Cloud providers (OpenAI / Google / Doubao) | ❌ | ❌ | ✅ |
| Auto fallback across providers | ❌ | ❌ | ✅ |
| Retry with exponential backoff | ❌ | ❌ | ✅ |
| MCP server (Cursor / Claude) | ❌ | ❌ | ✅ |
| Desktop GUI with waveform | ❌ | ❌ | ✅ |
| CLI with batch + SRT output | ❌ | ✅ | ✅ |
| In-app settings (no config file) | ❌ | ❌ | ✅ |

## Quick start

```bash
cargo build --release

# Transcribe a file (uses OpenAI by default)
./target/release/speakly transcribe audio.wav

# Desktop GUI (real-time recording)
./target/release/speakly-gui

# MCP server (for Cursor / Claude)
./target/release/speakly-mcp --stdio
```

### Enable local Whisper (optional)

Local Whisper runs entirely offline via [whisper.cpp](https://github.com/ggerganov/whisper.cpp). It requires `cmake` to compile:

```bash
# macOS
brew install cmake

# Ubuntu / Debian
sudo apt install cmake

# Build with the whisper feature
cargo build --release --features whisper

# Download a Whisper model (~142 MB)
make model
```

## As a library

```toml
[dependencies]
speakly-core = { version = "0.1", features = ["openai"] }
tokio = { version = "1", features = ["full"] }
```

```rust
use speakly_core::prelude::*;

#[tokio::main]
async fn main() -> Result {
    let speakly = Speakly::new()?;
    let result = speakly.transcribe_file("audio.wav").await?;
    println!("{}", result.text);
    Ok(())
}
```

## Engines

| Engine | Type | Notes | Feature flag |
|--------|------|-------|-------------|
| **Whisper** | Local | Offline, 99+ languages, requires cmake | `whisper` |
| **OpenAI** | Cloud | High accuracy | `openai` (default) |
| **Google** | Cloud | Streaming, 120+ languages | `google` |
| **Doubao** | Cloud | Optimized for Chinese | `doubao` |

## Configuration

Use `.speakly.toml` in the project root or `~/.config/speakly.toml`:

```toml
[speakly]
default_provider = "openai"

[providers.openai]
enabled = true
api_key_env = "OPENAI_API_KEY"

[providers.whisper]
enabled = true
model_path = "./models/ggml-base.bin"
language = "auto"
threads = 4

[audio]
sample_rate = 16000
channels = 1
enable_vad = true
```

### Cloud engine setup

**OpenAI**
1. Get an API key from [platform.openai.com](https://platform.openai.com/api-keys).
2. `export OPENAI_API_KEY=sk-your-key`
3. Set `[providers.openai]` with `enabled = true` in `.speakly.toml`.

**Google Cloud Speech-to-Text**
1. Enable the [Speech-to-Text API](https://console.cloud.google.com/apis/library/speech.googleapis.com) and create a service account key.
2. Save as `google-credentials.json`, set `export GOOGLE_ACCESS_TOKEN=...`
3. Set `[providers.google]` with `enabled = true`.

**ByteDance Doubao**
1. Get credentials from [Volc Engine](https://www.volcengine.com/).
2. `export DOUBAO_API_KEY=key && export DOUBAO_APP_ID=id`
3. Set `[providers.doubao]` with `enabled = true`.

## CLI

```bash
speakly transcribe audio.wav
speakly transcribe audio.wav --provider openai --language zh
speakly transcribe audio.wav -f srt
speakly transcribe *.wav --output-dir ./out
speakly providers
```

## MCP Server

Add to Cursor's `.cursor/mcp-settings.json`:

```json
{
  "mcpServers": {
    "speakly": {
      "command": "/path/to/speakly-mcp",
      "args": ["--stdio"]
    }
  }
}
```

Tools: `transcribe_audio_file`, `list_providers`.

## Project layout

- **speakly-core** — Library (audio processing, provider abstraction, config)
- **speakly-cli** — Command-line tool
- **speakly-mcp** — MCP server for Cursor / Claude
- **speakly-gui** — Desktop app (egui + cpal, Catppuccin theme)
- **examples/** — Usage examples

## Development

```bash
make check    # Compile check
make test     # Run tests
make fmt      # Format code
make help     # List all targets
```

## Docs

- [Architecture](ARCHITECTURE.md)
- [Providers](PROVIDERS.md)
- [MCP guide](MCP_GUIDE.md)
- [Contributing](CONTRIBUTING.md)
- [Changelog](CHANGELOG.md)

## License

[MIT](LICENSE)

## Source & license

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

- **Author:** [speak-rs](https://github.com/speak-rs)
- **Source:** [speak-rs/speakly](https://github.com/speak-rs/speakly)
- **License:** MIT
- **Homepage:** https://github.com/speak-rs/speakly

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-speak-rs-speakly
- Seller: https://agentstack.voostack.com/s/speak-rs
- 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%.
