プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

MCP Listen

作者:analyticsinmotionバージョン 0.1.1i★ –iパソコンで動く
レジストリ名io.github.analyticsinmotion/mcp-listen

インストール

概要

作者による説明(英語の原文)

Give your AI agents the ability to listen. Microphone capture and speech-to-text.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: デザイン・画像・音声

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "listen": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-listen"
      ]
    }
  }
}

ターミナルでこれを実行します

claude mcp add listen -- npx -y mcp-listen

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "listen": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-listen"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "listen": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-listen"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント analyticsinmotion で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

デザイン・画像・音声のほかのサーバーとの比較i

  • このカテゴリのほかの2186件のうち0%よりスターが多い
  • このカテゴリのほかの2186件のうち5%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの2186件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

MCP Listenは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは7 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Figma Context MCP

作者:GLips

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

パソコンで動く★ 16,165MIT5 か月前更新
インストール

Claude Real Video

作者:HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

パソコンで動く★ 2,284MIT2 か月前更新
インストール

Figma MCP Server

作者:figma

The Figma MCP server brings Figma design context directly into your AI workflow.

クラウドで動く★ 2,15213 か月前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

mcp-listen

Give your AI agents the ability to listen

Microphone capture and speech-to-text tools for MCP-compatible agents.

Meta

Tools

ToolDescription
list_audio_devicesList available microphone input devices
capture_audioRecord audio from the microphone and save as WAV
voice_queryCapture, transcribe on this machine (whisper.cpp), and query a model through the local Ollama daemon

Quick Start

Claude Code
claude mcp add mcp-listen npx mcp-listen
Claude Desktop / ChatGPT Desktop / Cursor / Windsurf / VS Code

Add to your MCP configuration:

{

"mcpServers": { "mcp-listen": { "command": "npx", "args": ["-y", "mcp-listen"] } } }

Compatible with Claude Desktop, ChatGPT Desktop, Cursor, GitHub Copilot, Windsurf, VS Code, Gemini, Zed, and any MCP-compatible client.

Global Install
npm install -g mcp-listen

Requirements

Supported platforms:

  • Windows x64
  • macOS Apple silicon (arm64)
  • Linux x64 and arm64 (glibc)

Intel Mac (darwin-x64) is not supported: Apple has discontinued the platform and no decibri binary is published for it.

For `list_audio_devices` and `capture_audio`:

  • Node.js 18+
  • A microphone

For `voice_query` (optional):

  • Ollama running locally
  • Whisper GGML model (see Whisper Model Setup)

Tool Reference

Arguments are validated before anything is recorded or written. An argument a tool does not declare is rejected with an error naming it, rather than silently ignored. duration_ms must be an integer between 100 and 30000; silence_ms an integer between 100 and 10000; stop_on_silence a boolean; device a non-negative integer index or a non-empty string id from list_audio_devices. A silence_ms that cannot take effect (passed without silence-stopping active) is rejected for the same reason unknown arguments are. A rejected call writes nothing to disk.

list_audio_devices

Returns a JSON array of available audio input devices.

Parameters: None

Example response:

[

{ "index": 0, "name": "Microphone", "id": "wasapi:{0.0.1.00000000}.{00000000-0000-0000-0000-000000000001}", "maxInputChannels": 2, "defaultSampleRate": 48000, "isDefault": true }, { "index": 1, "name": "Microphone Array", "id": "wasapi:{0.0.1.00000000}.{00000000-0000-0000-0000-000000000002}", "maxInputChannels": 2, "defaultSampleRate": 48000, "isDefault": false } ]

The id is stable across reboots and device changes. The index is positional and can shift when devices are added or removed, and names are not unique. Prefer id when selecting a device. In the rare case the host cannot produce a stable id for a device, its id is an empty string and it can only be selected by index.

capture_audio

Records audio from the microphone and saves as a WAV file. Records for exactly duration_ms by default, or until the speaker stops talking with stop_on_silence: true.

Parameters:

ParameterTypeDefaultDescription
duration_msnumber5000Recording duration in milliseconds (100-30000). A maximum, not an exact length, when stop_on_silence is true
devicenumber or stringsystem defaultDevice index or stable device id from list_audio_devices
stop_on_silencebooleanfalseStop when the speaker stops talking, detected with on-device voice activity detection (Silero VAD, bundled, no download)
silence_msnumber1000Continuous silence in milliseconds that ends a stop_on_silence recording (100-10000). Requires stop_on_silence: true

Example response (fixed duration):

{

"path": "/tmp/mcp-listen-1712345678901.wav", "duration_ms": 5000, "sample_rate": 16000, "channels": 1, "size_bytes": 160044 }

Example response (`stop_on_silence: true`):

{

"path": "/tmp/mcp-listen-1712345678901.wav", "duration_ms": 2600, "sample_rate": 16000, "channels": 1, "size_bytes": 83244, "stopped_by": "silence", "speech_detected": true }

With stop_on_silence, duration_ms in the response is the actual captured length, and stopped_by says how the recording ended: "silence" (the speaker finished), "ceiling" (the duration_ms maximum was reached), or "no_speech_timeout" (nobody spoke for 10 seconds; the WAV is still returned, with speech_detected: false, so silence is a reported outcome rather than an error). Detection runs per ~100ms audio buffer, so the effective hangover rounds up to the next buffer, and the recording keeps everything from the start of the call through the stop decision: nothing is gated or clipped at speech boundaries, and the audio itself is byte-identical to a fixed-duration capture of the same sounds.

voice_query

Full voice pipeline: capture audio, transcribe it on this machine with whisper.cpp, send the transcription to the local Ollama daemon, and return the transcription and the response. The audio stays on this machine. Recording stops automatically when the speaker stops talking; pass stop_on_silence: false for a fixed-length recording.

Parameters:

ParameterTypeDefaultDescription
duration_msnumber15000 / 5000Maximum recording duration in milliseconds (100-30000). Default 15000 while silence-stopping is active, 5000 with stop_on_silence: false
devicenumber or stringsystem defaultDevice index or stable device id from list_audio_devices
stop_on_silencebooleantrueStop recording when the speaker stops talking. Pass false to record for exactly duration_ms
silence_msnumber1000Continuous silence in milliseconds that ends the recording (100-10000)
whisper_modelstringggml-base.en.binPath or filename of Whisper GGML model
languagestringenLanguage code for transcription
modelstringllama3.2Ollama model name
promptstringYou are a helpful assistant.System prompt for the LLM

Example response:

{

"transcription": "What is the default port for PostgreSQL?", "response": "PostgreSQL runs on port 5432 by default.", "model": "llama3.2" }

Result outcomes. voice_query reports five distinct outcomes. The structured fields are the contract (isError, speech_detected, transcription); any message is a human-readable hint whose wording is not part of the contract, so a caller branches on the fields, never on the prose. The rule is simple: if the pipeline ran, the result is a success (even when it found no words); if a dependency broke, the result is an error.

OutcomeisErrorspeech_detectedtranscriptionresponse
Normalabsentabsentthe textthe answer
No speech at allabsentfalsenullnull
Speech, but no transcribable wordsabsenttrue (absent with stop_on_silence: false)nullnull
Transcription step failedtrueabsentabsentabsent
Ollama unavailable, errored, or emptytrueabsentabsent (the text if the reply is empty)absent (null if the reply is empty)

A caller distinguishes "the user was silent" from "the user spoke but produced no words" by speech_detected (false vs true), both carrying transcription: null. Non-speech audio never reaches the language model: whisper's non-speech markers ([BLANK_AUDIO], [MUSIC], (silence), and similar) are treated as no usable words rather than sent on as a query.

No speech (speech_detected: false):

{

"speech_detected": false, "stopped_by": "no_speech_timeout", "transcription": null, "response": null, "message": "No speech was detected. Ask the user to repeat, or check that the correct microphone is selected." }

Speech, but no transcribable words (speech_detected: true, transcription: null):

{

"speech_detected": true, "stopped_by": "silence", "transcription": null, "response": null, "message": "Speech was detected but could not be transcribed. It may have been too quiet, too brief, or unclear. Ask the user to repeat, a little louder and closer to the microphone." }

Transcription and dependency failures return isError: true with the real cause (a missing model, a whisper load failure, Ollama not running, a timeout, or an empty model response), so a caller debugging can tell whether the failure was in capture, transcription, or the language model.

How It Works

mcp-listen uses decibri for cross-platform microphone capture. No ffmpeg, no SoX, no system audio tools required. Pre-built native binaries with zero setup.

Audio is captured as 16-bit PCM at 16kHz mono, the standard format for speech-to-text engines.

Silence-stopping uses the Silero voice activity detection model that ships inside decibri, running on-device through the bundled ONNX Runtime. Nothing extra is downloaded and no audio leaves the machine. The stop decision is measured in captured audio, not wall-clock time, and the VAD only decides when to stop: it never gates or alters the recorded samples.

The voice_query tool captures audio and transcribes it on this machine with whisper.cpp, sends the transcription to the local Ollama daemon, and returns the transcription and the response to the calling client. The audio stays on this machine.

Whisper Model Setup

The voice_query tool requires a Whisper GGML model file. Download one:

Linux / macOS:

mkdir -p ~/.mcp-listen/models

curl -L -o ~/.mcp-listen/models/ggml-base.en.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin

Windows (PowerShell):

mkdir "$env:USERPROFILE\.mcp-listen\models" -Force

Invoke-WebRequest -Uri "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin" -OutFile "$env:USERPROFILE\.mcp-listen\models\ggml-base.en.bin"

The model is ~150MB and downloads once. You can also set the WHISPER_MODEL_PATH environment variable to a custom directory.

Ollama Setup

  1. Install Ollama from https://ollama.com
  2. Pull a model: ollama pull llama3.2
  3. Ensure Ollama is running: ollama serve

Known Limitations

  1. A loud transient can register as speech. Silence-stopping decides "speech has started" from the VAD score, so a door slam or a cough can start the countdown and end the recording after silence_ms of quiet, yielding a short capture of mostly silence. The outcome is visible, not silent: the re

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く