Ffvoice MCP Server

Offline speech-to-text & speaker diarization MCP server: transcribe audio on-device, no cloud

Local serverstdioPython

What is the Ffvoice MCP server?

Offline speech-to-text & speaker diarization MCP server: transcribe audio on-device, no cloud. That is what the ffvoice mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

If raw ASR accuracy or throughput is your primary concern, evaluate whisper.cpp directly or consider specialized runtimes. ffvoice's value is the integrated pipeline, not the ASR engine itself.

The tools it exposes

The server publishes 5 tools. What each one is for:

  • transcribe_file — 转写本地音频文件(WAV/FLAC 等),支持语言选择、模型大小、词级时间戳
  • transcribe_file_with_diarization — 转写并标注说话人 —— 每段带 speaker_id,回答"谁在何时说什么"(需 pip install 'ffvoice[diarization]',免编译)
  • capture_and_transcribe — 录制指定时长的麦克风音频并实时转写(内置 VAD 分段 + 可选 RNNoise 降噪)
  • capture_and_caption — 录制麦克风音频并产出实时字幕流(LiveCaptioner,partial/final 事件)
  • list_audio_devices — 列出所有可用的音频输入/输出设备及默认设备 ID

Getting it running

Installation goes through your MCP client rather than a global install: point it at ffvoice on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

How it compares

Plenty of AI and media services servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Ffvoice's toolset — transcribe_file, transcribe_file_with_diarization, capture_and_transcribe and 2 more — is a fair guide to whether it matches your workflow. It is maintained by chicogong; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
transcribe_file转写本地音频文件(WAV/FLAC 等),支持语言选择、模型大小、词级时间戳
transcribe_file_with_diarization转写并标注说话人 —— 每段带 speaker_id,回答"谁在何时说什么"(需 pip install 'ffvoice[diarization]',免编译)
capture_and_transcribe录制指定时长的麦克风音频并实时转写(内置 VAD 分段 + 可选 RNNoise 降噪)
capture_and_caption录制麦克风音频并产出实时字幕流(LiveCaptioner,partial/final 事件)
list_audio_devices列出所有可用的音频输入/输出设备及默认设备 ID

How to install the Ffvoice MCP server

{
  "mcpServers": {
    "ffvoice": {
      "command": "uvx",
      "args": ["ffvoice"]
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Example prompts to try

  • Use Ffvoice to transcribe file.
  • Use Ffvoice to transcribe file with diarization.
  • Use Ffvoice to capture and transcribe.

Frequently asked questions

It connects Ffvoice to MCP-compatible AI assistants such as Claude and Cursor, exposing 5 tools (transcribe_file, transcribe_file_with_diarization, capture_and_transcribe, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Ffvoice directly.