
Windy Word
Turns Windy Word's local voice-to-text app into an agent-controllable surface with 60 tools across paste injection, hotkeys, transcription models, archive management, voice clones, and translation memory. Wraps Windy Word's localhost HTTP server (port 18765) with schema-validated MCP tooling so agents can switch Whisper models, diagnose paste-stack issues across macOS/Windows/Linux, install missing dependencies via package managers, query session archives by opaque ID, and manage ElevenLabs voice clones without touching filesystem paths. Includes a diagnostic battery (13 local checks plus optional cloud LLM assist) and typed settings catalog with validation. Reach for this when you want conversational control over desktop transcription workflows or need an agent to troubleshoot paste-backend conflicts and permission issues autonomously.
- GitHub stars
- 1
- tools
- 80
- transport
- STDIO
- env vars
- 3
- last updated
- May 20, 2026
Tools
80 toolsPublic tool metadata for what this MCP can expose to an agent.
get_platformOS, arch, distro, display server, desktop env, xdotool/ydotool presence
OS, arch, distro, display server, desktop env, xdotool/ydotool presence
No parameter schema in public metadata yet.
list_paste_strategiesAll 12 strategies + per-strategy availability + resolved chain + collision flag
All 12 strategies + per-strategy availability + resolved chain + collision flag
No parameter schema in public metadata yet.
get_active_paste_strategyCurrent selection + resolved chain
Current selection + resolved chain
No parameter schema in public metadata yet.
set_paste_strategySwitch active (or "auto")
Switch active (or "auto")
No parameter schema in public metadata yet.
test_paste_strategyFire a specific strategy at the focused window (injects text!)
Fire a specific strategy at the focused window (injects text!)
No parameter schema in public metadata yet.
auto_pasteRun the auto-execute chain with explicit candidates
Run the auto-execute chain with explicit candidates
No parameter schema in public metadata yet.
run_paste_injection_testReal end-to-end test — spawns Tk target, fires paste, diffs result
Real end-to-end test — spawns Tk target, fires paste, diffs result
No parameter schema in public metadata yet.
get_paste_historyIn-memory audit log
In-memory audit log
No parameter schema in public metadata yet.
clear_paste_historyIn-memory audit log
In-memory audit log
No parameter schema in public metadata yet.
get_paste_targetXWayland vs Wayland-native detection
XWayland vs Wayland-native detection
No parameter schema in public metadata yet.
list_hotkeysCurrent bindings + available actions + reserved combos
Current bindings + available actions + reserved combos
No parameter schema in public metadata yet.
set_hotkeyRebind a global shortcut (Electron accelerator format)
Rebind a global shortcut (Electron accelerator format)
No parameter schema in public metadata yet.
reset_hotkeysRestore all global shortcuts to catalog defaults + re-register
Restore all global shortcuts to catalog defaults + re-register
No parameter schema in public metadata yet.
list_modelsWhisper model catalog + current + WindyTune ladder
Whisper model catalog + current + WindyTune ladder
No parameter schema in public metadata yet.
set_modelSwitch (hot-reloads Python engine over WebSocket)
Switch (hot-reloads Python engine over WebSocket)
No parameter schema in public metadata yet.
get_windytune_stateAuto-tune state, ladder, recent-timing history
Auto-tune state, ladder, recent-timing history
No parameter schema in public metadata yet.
start_recordingBegin a mode-aware recording (batch / streaming / API engine)
Begin a mode-aware recording (batch / streaming / API engine)
No parameter schema in public metadata yet.
stop_recordingEnd the recording → trigger transcription + paste pipeline
End the recording → trigger transcription + paste pipeline
No parameter schema in public metadata yet.
cancel_recordingAbort an in-flight recording without saving
Abort an in-flight recording without saving
No parameter schema in public metadata yet.
get_recording_stateisRecording + pythonEngineRunning + mode snapshot
isRecording + pythonEngineRunning + mode snapshot
No parameter schema in public metadata yet.
toggle_recordingStart/stop (same effect as the global hotkey)
Start/stop (same effect as the global hotkey)
No parameter schema in public metadata yet.
paste_transcriptRe-paste the most recent transcript
Re-paste the most recent transcript
No parameter schema in public metadata yet.
set_languageSet the Whisper transcription language (ISO 639-1)
Set the Whisper transcription language (ISO 639-1)
No parameter schema in public metadata yet.
set_panel_visibilityConfigure a bottom panel row (always / hover / off)
Configure a bottom panel row (always / hover / off)
No parameter schema in public metadata yet.
list_audio_devicesEnumerate microphones available to Windy Word
Enumerate microphones available to Windy Word
No parameter schema in public metadata yet.
list_installable_dependenciesWhat's installable on this machine right now
What's installable on this machine right now
No parameter schema in public metadata yet.
install_dependencySynchronous install (whitelist + dryRun)
Synchronous install (whitelist + dryRun)
No parameter schema in public metadata yet.
install_dependency_asyncFire-and-poll variant — returns jobId
Fire-and-poll variant — returns jobId
No parameter schema in public metadata yet.
get_install_statusPoll a job
Poll a job
No parameter schema in public metadata yet.
list_install_jobsAll in-memory jobs
All in-memory jobs
No parameter schema in public metadata yet.
get_install_historyAudit log
Audit log
No parameter schema in public metadata yet.
clear_install_historyAudit log
Audit log
No parameter schema in public metadata yet.
setup_install_polkit_ruleInstall/remove the Linux polkit auto-approve rule
Install/remove the Linux polkit auto-approve rule
No parameter schema in public metadata yet.
run_diagnosticsRun the local battery; return structured findings + actionable remediations
Run the local battery; return structured findings + actionable remediations
No parameter schema in public metadata yet.
list_diagnostic_checksWhat checks exist + which apply to this platform
What checks exist + which apply to this platform
No parameter schema in public metadata yet.
cloud_diagnoseLLM-augment via the windy-fix-me Cloudflare Worker
LLM-augment via the windy-fix-me Cloudflare Worker
No parameter schema in public metadata yet.
list_settingsCatalog + current live values + available tags. Supports ?tag=X filter
Catalog + current live values + available tags. Supports ?tag=X filter
No parameter schema in public metadata yet.
describe_settingSingle entry + current value
Single entry + current value
No parameter schema in public metadata yet.
set_settingValidate + apply + return side effects
Validate + apply + return side effects
No parameter schema in public metadata yet.
get_configThe settings an agent may read, by path (personal values redacted; tokens and consent never returned)
The settings an agent may read, by path (personal values redacted; tokens and consent never returned)
No parameter schema in public metadata yet.
set_configRetired: answers retired, use set_setting
Retired: answers retired, use set_setting
No parameter schema in public metadata yet.
undo_last_setting_changeRevert the most recent catalog-validated setting change this session
Revert the most recent catalog-validated setting change this session
No parameter schema in public metadata yet.
list_recent_setting_changesList session setting changes, oldest first
List session setting changes, oldest first
No parameter schema in public metadata yet.
list_archive_entriesList recordings with transcripts + metadata
List recordings with transcripts + metadata
No parameter schema in public metadata yet.
get_archive_statstotalFiles/sizeMB/days/words/sessions (30s server-side cache)
totalFiles/sizeMB/days/words/sessions (30s server-side cache)
No parameter schema in public metadata yet.
read_archive_entryBase64 audio or video for an entry
Base64 audio or video for an entry
No parameter schema in public metadata yet.
delete_archive_entryTear down md + audio + video
Tear down md + audio + video
No parameter schema in public metadata yet.
open_archive_folderPop OS file manager at the archive root
Pop OS file manager at the archive root
No parameter schema in public metadata yet.
search_archivesFull-text substring search across every transcript
Full-text substring search across every transcript
No parameter schema in public metadata yet.
archives_by_date_rangeSessions whose start timestamp falls within [from, to]
Sessions whose start timestamp falls within [from, to]
No parameter schema in public metadata yet.
bulk_delete_archivesTear down multiple entries in one call
Tear down multiple entries in one call
No parameter schema in public metadata yet.
list_voice_clonesAll clones + activeId (no audio bytes)
All clones + activeId (no audio bytes)
No parameter schema in public metadata yet.
get_active_voice_cloneCurrently-active clone (or null)
Currently-active clone (or null)
No parameter schema in public metadata yet.
set_active_voice_cloneSwitch active (or deactivate with null)
Switch active (or deactivate with null)
No parameter schema in public metadata yet.
create_voice_clone_from_pathCreate from an audio file on disk (path-confined copy)
Create from an audio file on disk (path-confined copy)
No parameter schema in public metadata yet.
delete_voice_cloneIrreversible teardown
Irreversible teardown
No parameter schema in public metadata yet.
preview_voice_cloneMetadata + optional base64 audio
Metadata + optional base64 audio
No parameter schema in public metadata yet.
list_clone_bundlesTraining-bundle catalog
Training-bundle catalog
No parameter schema in public metadata yet.
submit_voice_clone_to_cloudSubmit a local clone to Windy Clone for ElevenLabs training
Submit a local clone to Windy Clone for ElevenLabs training
No parameter schema in public metadata yet.
get_cloud_clone_order_statusPoll Windy Clone for ElevenLabs training progress
Poll Windy Clone for ElevenLabs training progress
No parameter schema in public metadata yet.
bulk_ingest_to_cloneCopy a batch of audio files into the voice-samples store as clones
Copy a batch of audio files into the voice-samples store as clones
No parameter schema in public metadata yet.
scan_folder_for_mediaScan a folder (recursive) for audio + video files
Scan a folder (recursive) for audio + video files
No parameter schema in public metadata yet.
watch_folder_for_recordingsStart/stop a folder watcher that auto-ingests new audio
Start/stop a folder watcher that auto-ingests new audio
No parameter schema in public metadata yet.
list_clone_watchersList active folder watchers
List active folder watchers
No parameter schema in public metadata yet.
translate_textTM-cache-first → Groq/OpenAI fallback (auto-populates cache)
TM-cache-first → Groq/OpenAI fallback (auto-populates cache)
No parameter schema in public metadata yet.
lookup_translation_memoryLocal cache query, no API
Local cache query, no API
No parameter schema in public metadata yet.
save_translation_memoryManual upsert
Manual upsert
No parameter schema in public metadata yet.
get_translation_memory_statsTotal / topPairs / recentEntries
Total / topPairs / recentEntries
No parameter schema in public metadata yet.
clear_translation_memoryWipe (destructive)
Wipe (destructive)
No parameter schema in public metadata yet.
extract_document_textPath-based, supports txt/md/csv/html/pdf/docx (5MB default, 20MB cap)
Path-based, supports txt/md/csv/html/pdf/docx (5MB default, 20MB cap)
No parameter schema in public metadata yet.
save_text_filePath-based write; refuses overwrite unless flagged
Path-based write; refuses overwrite unless flagged
No parameter schema in public metadata yet.
transcribe_audio_fileAny audio file → Whisper transcript via warm WebSocket engine
Any audio file → Whisper transcript via warm WebSocket engine
No parameter schema in public metadata yet.
get_sound_effect_statePer-hook-stage enabled/volume settings (6 lifecycle stages)
Per-hook-stage enabled/volume settings (6 lifecycle stages)
No parameter schema in public metadata yet.
set_sound_hookConfigure a single sound-effect hook stage
Configure a single sound-effect hook stage
No parameter schema in public metadata yet.
set_active_sound_packSwitch the active sound pack
Switch the active sound pack
No parameter schema in public metadata yet.
set_master_sfx_volumeSet master SFX volume (0-100)
Set master SFX volume (0-100)
No parameter schema in public metadata yet.
set_sound_effect_modeSwitch EffectsEngine mode (silent / classic / surprise / custom / pack)
Switch EffectsEngine mode (silent / classic / surprise / custom / pack)
No parameter schema in public metadata yet.
list_sound_effect_packsList known sound-effect packs
List known sound-effect packs
No parameter schema in public metadata yet.
get_widget_stateMini-widget (tornado) runtime state via the renderer bridge
Mini-widget (tornado) runtime state via the renderer bridge
No parameter schema in public metadata yet.
detect_hardwareRAM, CPU, GPU (nvidia-smi + Apple Silicon detect), disk free
RAM, CPU, GPU (nvidia-smi + Apple Silicon detect), disk free
No parameter schema in public metadata yet.
Sponsors
Configuration
WINDY_WORD_MCP_HOSTdefault: 127.0.0.1Host the Windy Word control server is bound to.
WINDY_WORD_MCP_PORTdefault: 18765Control-server port.
WINDY_WORD_MCP_TIMEOUT_MSdefault: 5000Per-request timeout to the control server (ms).
Readme
windy-word-mcp
An MCP (Model Context Protocol) server that turns Windy Word — the voice-to-text desktop app — into an agent-controllable platform. 115 tools spanning paste / hotkeys / transcription / recording verbs / audio devices / install / diagnostics / archive / voice clones / translation / documents / system / window / account + billing / TTS / settings-undo / music-ducking / bulk-clone-ingest / soul-file export.
Windy Word ships a local HTTP control server on 127.0.0.1:18765. This package is a schema-validated MCP wrapper around it. Agents call MCP tools; the server forwards to Windy Word over localhost; everything happens on the user's machine (no network round-trips for state queries).
Install
For most users:
claude mcp add windy-word --command "npx" --args "-y" "windy-word-mcp"
Or in ~/.claude.json / ~/.config/claude/claude_desktop_config.json:
Details
- Repository
- github.com/sneakyfree/windy-word-mcp
- Website
- windyword.ai
- Categories
- AI & LLM Tools, Productivity & Office
- Package
windy-word-mcp- Transport
- STDIO
- Registry
- MCP registry, active