You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
harden error handling, add smoke tests, and prep for v0.1.0 release
Pre-ship audit fixes:
- Wrap mic.stop() in try-catch in error and safety timeout handlers
- Add defensive JSON.parse in voice_query pipeline
- Add 60s AbortController timeout on Ollama chat calls
- Improve Ollama error detection with recursive cause chain checking
- Validate whisper transcription result structure before parsing
- Remove .claude/settings.local.json from repo, add .claude/ to .gitignore
Smoke test suite (test/smoke.js):
- Server initialization and version match
- All 3 tools advertised in tools/list
- list_audio_devices returns valid device data
- capture_audio produces WAV with valid RIFF header
- Invalid device and unknown tool return isError
- Skips mic-dependent tests gracefully on CI (no hardware)
Publish workflow improvements:
- Add npm install + npm test before publish
- Add tag/version mismatch check against package.json
README additions:
- Troubleshooting section (Windows mic permissions, Ollama, whisper model)
Copy file name to clipboardExpand all lines: README.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
<!-- markdownlint-disable MD033 MD041 -->
2
+
1
3
# mcp-listen
2
4
3
5
**The first MCP server that can hear.**
@@ -26,7 +28,6 @@ Give your AI agents the ability to listen. Microphone capture and speech-to-text
26
28
<!-- badges: end -->
27
29
</div>
28
30
29
-
30
31
## Tools
31
32
32
33
| Tool | Description |
@@ -185,6 +186,17 @@ The model is ~150MB and downloads once. You can also set the `WHISPER_MODEL_PATH
185
186
4.**No streaming.** MCP's request/response pattern means the entire recording is captured, then transcribed, then sent to the LLM. No real-time partial results.
186
187
5.**Temp files.**`capture_audio` writes WAV files to the system temp directory. They are not automatically cleaned up. `voice_query` cleans up after itself.
187
188
189
+
## Troubleshooting
190
+
191
+
**Windows: "Error opening microphone"**
192
+
Windows may block microphone access by default. Go to **Settings > Privacy & security > Microphone** and ensure microphone access is enabled for desktop apps.
193
+
194
+
**Ollama: "Ollama is not running"**
195
+
Some Ollama installations start as a background service automatically. If you see this error, run `ollama serve` manually or check that the Ollama service is running.
196
+
197
+
**Whisper: "model not found"**
198
+
The whisper model file must be downloaded before first use. See [Whisper Model Setup](#whisper-model-setup) for instructions.
199
+
188
200
## Powered By
189
201
190
202
-[decibri](https://decibri.dev): Cross-platform microphone capture for Node.js
0 commit comments