Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Beschreibung vom Entwickler (englisches Original)
Give your AI agents the ability to listen. Microphone capture and speech-to-text.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"listen": {
"command": "npx",
"args": [
"-y",
"mcp-listen"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add listen -- npx -y mcp-listenIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"listen": {
"command": "npx",
"args": [
"-y",
"mcp-listen"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"listen": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-listen"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto analyticsinmotion bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.1) kam vor 7 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Figma Context MCP, Claude Real Video, Figma MCP Server
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Give your AI agents the ability to listen
Microphone capture and speech-to-text tools for MCP-compatible agents.
Meta
| Tool | Description |
|---|---|
list_audio_devices | List available microphone input devices |
capture_audio | Record audio from the microphone and save as WAV |
voice_query | Capture, transcribe on this machine (whisper.cpp), and query a model through the local Ollama daemon |
claude mcp add mcp-listen npx mcp-listen
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.
npm install -g mcp-listen
Supported platforms:
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`:
For `voice_query` (optional):
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.
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.
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:
| Parameter | Type | Default | Description |
|---|---|---|---|
duration_ms | number | 5000 | Recording duration in milliseconds (100-30000). A maximum, not an exact length, when stop_on_silence is true |
device | number or string | system default | Device index or stable device id from list_audio_devices |
stop_on_silence | boolean | false | Stop when the speaker stops talking, detected with on-device voice activity detection (Silero VAD, bundled, no download) |
silence_ms | number | 1000 | Continuous 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.
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:
| Parameter | Type | Default | Description |
|---|---|---|---|
duration_ms | number | 15000 / 5000 | Maximum recording duration in milliseconds (100-30000). Default 15000 while silence-stopping is active, 5000 with stop_on_silence: false |
device | number or string | system default | Device index or stable device id from list_audio_devices |
stop_on_silence | boolean | true | Stop recording when the speaker stops talking. Pass false to record for exactly duration_ms |
silence_ms | number | 1000 | Continuous silence in milliseconds that ends the recording (100-10000) |
whisper_model | string | ggml-base.en.bin | Path or filename of Whisper GGML model |
language | string | en | Language code for transcription |
model | string | llama3.2 | Ollama model name |
prompt | string | You 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.
| Outcome | isError | speech_detected | transcription | response |
|---|---|---|---|---|
| Normal | absent | absent | the text | the answer |
| No speech at all | absent | false | null | null |
| Speech, but no transcribable words | absent | true (absent with stop_on_silence: false) | null | null |
| Transcription step failed | true | absent | absent | absent |
| Ollama unavailable, errored, or empty | true | absent | absent (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.
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.
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 pull llama3.2ollama servesilence_ms of quiet, yielding a short capture of mostly silence. The outcome is visible, not silent: the reNur der Anfang wird gezeigt; den Rest findest du im Repo