Play audio prompts when MisakaNet MCP tools return results.
Add to your Claude Code ~/.claude/settings.json:
{
"hooks": {
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "/path/to/MisakaNet/scripts/misakanet_voice_hook.sh"
}
]
}
]
}
}- MCP server includes a
voicefield in tool responses PostToolUsehook reads the JSON from stdin- Hook extracts the
voicefield and plays the matching MP3
| Event | MP3 File | Trigger |
|---|---|---|
| Lesson found | lesson-found.mp3 |
misakanet_search returns results |
| No match | failure-warning.mp3 |
misakanet_search returns empty/error |
| Lesson loaded | connect-success.mp3 |
misakanet_get_lesson succeeds |
| Usage logged | pair-success.mp3 |
misakanet_submit_usage succeeds |
Located at docs/assets/voice/:
connect-success.mp3— lesson loaded successfullypair-success.mp3— usage submittedlesson-found.mp3— search found matching lessonsfailure-warning.mp3— search returned no results or error
- macOS:
afplay(built-in) - Linux:
aplayorpaplay(ALSA/PulseAudio) - Python 3 (for JSON parsing in hook)
Remove the hook from settings.json or set MISAKANET_VOICE=0 in environment.