# mcp-listen

Lets an agent reach the microphone: list input devices, record a WAV file, transcribe speech on the same machine and hand the text to Ollama.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 10
- Author: decibri
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/decibri/mcp-listen
- Updated: 2026-10-13
- HTML: https://affpapa.org/en/nevibecode/mcp/mcp-listen

## What it does

Three tools come with the server. `list_audio_devices` returns the available microphones as JSON, `capture_audio` writes a recording to a WAV file, and `voice_query` runs the whole chain: record, transcribe locally with whisper.cpp, then query the Ollama daemon on the same host. The audio never leaves the machine.

Recording can end on its own. With `stop_on_silence: true` the bundled Silero VAD watches for voice activity, so nothing extra is downloaded. Arguments are checked before any recording starts; a parameter the tool does not declare comes back as an error naming it, and a rejected call writes nothing to disk. Node.js 18+ and a microphone cover `list_audio_devices` and `capture_audio`.

Intel Macs are out: Apple discontinued that platform and no decibri binary ships for it. Windows x64, Apple silicon macOS and Linux on x64 or arm64 are the supported targets. `voice_query` additionally expects Ollama already running plus a Whisper GGML model — without both, that one tool stays quiet while device listing and plain capture keep working.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add mcp-listen -- npx -y mcp-listen
```

### Codex

**Platform CLI**
```bash
codex mcp add mcp-listen -- npx -y mcp-listen
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-listen": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-listen"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-listen": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-listen"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add mcp-listen npx -y mcp-listen
```

## When to use it
- record a voice note without leaving the agent session
- pick the right microphone when the machine has several
- let the recording stop by itself once the speaker finishes
- transcribe speech locally instead of shipping audio to a cloud API
- route a spoken question through a local Ollama model

## Example prompts
- List the available microphones
- Record 5 seconds from the microphone and save it as WAV
- Record my question, transcribe it and send it to Ollama

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
