Experimental package — This module provides a set of MCP tools to retrieve information from GitHub
Windy Word is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
Open InstallationWhat it does
MCP server exposing Windy Word's agent-control surface as 95 typed tools (paste / hotkeys / transcription / recording verbs / audio devices / voice clones / install / Doctor / archive / translation / documents / soul-file).
Quickstart
# 1 — run it from where its publisher ships it
npx -y windy-word-mcp
# 2 — ask your agent something
> MCP server exposing Windy Word's agent-control surface as 95 typed tools (paste / hotkeys / transcription / recording verbs / audio devices
Windy Word is free: there is no plan to choose, no cap to set and nothing that can bill you.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts Windy Word as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. It is scanned, signed and pinned to the version you choose — read the surface before you approve it.
This is a public server: you run it yourself and this marketplace is not in the path. Claude Code registers it in one command.
claude mcp add windy-word-mcp -- npx -y windy-word-mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
Nothing is required, but it can take WINDY_WORD_MCP_HOST, WINDY_WORD_MCP_PORT, WINDY_WORD_MCP_TIMEOUT_MS if you want to set them.
One config entry your client uses to start the process locally. A local server runs with your file system and your network, which is why it is priced without metering.
80 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Return OS / arch / distro / display-server / desktop-environment / tool-availability
Takes no parameters.
List all 12 paste strategies (macOS / Windows / Linux X11 / Linux Wayland) with full
Takes no parameters.
Return the currently selected paste strategy, the user-configured fallback chain, and
Takes no parameters.
Select a paste strategy. Pass
Takes no parameters.
WARNING: injects test text (
Takes no parameters.
Real end-to-end paste injection test. Spawns a focusable Tk scratchpad target, temporarily
Takes no parameters.
Execute the auto-paste flow against an explicit candidate chain. Returns the winning
Takes no parameters.
Return the last N paste attempts with diagnostic data: timestamp, text length, content
Takes no parameters.
Reset the in-memory paste history buffer. Useful between stress-test runs.
Takes no parameters.
Detect whether the currently focused window is XWayland or Wayland-native (or unknown).
Takes no parameters.
List all current keyboard shortcut bindings, the set of rebindable actions, and the
Takes no parameters.
Rebind a keyboard shortcut. Action keys: toggleRecording, pasteTranscript,
Takes no parameters.
List available Whisper transcription models (tiny / base / small / medium / large-v3),
Takes no parameters.
Switch the active transcription model. Hot-reloads the running Python engine over
Takes no parameters.
Return WindyTune auto-tune state: whether it is enabled, the current model, the model
Takes no parameters.
List the whitelisted system tools that Windy Word can install on this machine to
Takes no parameters.
Install a missing system tool via the distro package manager wrapped in pkexec.
Takes no parameters.
Return the audit log of recent install_dependency attempts on this machine (timestamp,
Takes no parameters.
Wipe the in-memory install audit log. Useful between test runs.
Takes no parameters.
Install or remove the Linux polkit auto-approve rule that lets install_dependency run without
Takes no parameters.
Fire-and-poll variant of install_dependency. Returns a jobId immediately and runs the install in
Takes no parameters.
Return the current state of an async install job started by install_dependency_async. Status is
Takes no parameters.
List all install jobs currently in memory — both running and recently completed. Useful for dashboards or
Takes no parameters.
Export the user\
Takes no parameters.
Transcribe an audio file at a given path. Accepts any format ffmpeg can read (wav, mp3, m4a,
Takes no parameters.
Return the current sound-effects configuration: per-hook-stage enabled/volume settings (the 6
Takes no parameters.
Configure a single sound-effect hook stage. Hooks are the 6 lifecycle points where Windy Word
Takes no parameters.
Switch the active sound pack. Pack ids come from list_sound_effect_packs — typical built-ins are
Takes no parameters.
Set the master SFX volume (0-100). Affects every hook stage as a multiplier on per-stage volumes.
Takes no parameters.
Switch the EffectsEngine mode:
Takes no parameters.
Return mini-widget (tornado) runtime state via the renderer bridge: whether the WidgetEngine is
Takes no parameters.
List the sound-effect packs the Windy Word EffectsEngine knows about (_silent, classic-beep,
Takes no parameters.
Return system hardware info: totalRAM (GB), freeRAM (GB), cpuModel, cpuCores, platform, arch,
Takes no parameters.
Check whether Windy Word is configured to auto-launch on user login. Returns {platform, enabled,
Takes no parameters.
Enable or disable Windy Word\
Takes no parameters.
Translate text to a target language. Tries the local translation-memory cache first (instant +
Takes no parameters.
Look up a (text, sourceLang, targetLang) tuple in the local translation-memory cache. Returns
Takes no parameters.
Store a (source, target, sourceLang, targetLang) tuple in the TM cache. Useful when an agent has
Takes no parameters.
Return TM cache stats: totalEntries, topPairs (top 10 source→target language pairs by count),
Takes no parameters.
Wipe the entire translation-memory cache. Destructive — confirm with the user before calling.
Takes no parameters.
Extract plain text from a document file at a given path. Supports .txt / .md / .csv (read as
Takes no parameters.
Write text content to a file at a given path. Default: refuses to overwrite existing files (returns
Takes no parameters.
List archived recording sessions (the user\
Takes no parameters.
Return aggregate stats for the user\
Takes no parameters.
Return an archive entry\
Takes no parameters.
Tear down an archive entry: removes the transcript .md file + linked audio + linked video, all
Takes no parameters.
Pop the archive root directory in the user\
Takes no parameters.
List all voice clones the user has on this machine. Returns each clone\
Takes no parameters.
Return the currently-active voice clone (the one used for TTS playback), or {active: null} if no
Takes no parameters.
Set which voice clone is the active TTS default. Pass id=null to deactivate (no clone — falls back
Takes no parameters.
Delete a voice clone (metadata + audio file on disk). If the deleted clone was the active one,
Takes no parameters.
Return a voice clone\
Takes no parameters.
Create a voice clone from an audio file on disk. Copies the source file into Windy Word\
Takes no parameters.
Submit a local voice clone to Windy Clone for ElevenLabs training. Idempotent on cloud_order_id:
Takes no parameters.
Check the status of a Windy Clone cloud-training order — used after submit_voice_clone_to_cloud
Takes no parameters.
List training-bundle catalog — audio/video recordings the user has marked as candidates for
Takes no parameters.
Run the local Windy Doctor check battery and return a structured report: overall health
Takes no parameters.
List the catalog of Windy Doctor diagnostic checks without running them. Returns each check\
Takes no parameters.
Run local diagnostics AND route the findings to the windy-fix-me cloud-relay for LLM-augmented
Takes no parameters.
List every setting Windy Word exposes as an agent-discoverable, schema-validated path. Returns
Takes no parameters.
Return the full catalog entry for one setting (type / allowed values / description / default /
Takes no parameters.
Validate and apply a setting change against the catalog. Rejects unknown paths, type mismatches,
Takes no parameters.
Return the full electron-store config tree (every setting Windy Word has persisted).
Takes no parameters.
Patch the config store. Pass EITHER {path, value} for a single dotted-path write
Takes no parameters.
Return the running Windy Word version (app.getVersion()) plus the underlying
Takes no parameters.
Full-text substring search across every archived transcript. Returns matches with a
Takes no parameters.
Trigger electron-updater\
Takes no parameters.
Switch the UI theme.
Takes no parameters.
Snapshot the main window\
Takes no parameters.
Minimize the main Windy Word window to the dock/taskbar. Mirrors the title-bar minimize
Takes no parameters.
Maximize the main Windy Word window to fill the screen. Mirrors the title-bar maximize
Takes no parameters.
Restore the main window from maximized to its previous size. No-op if not maximized.
Takes no parameters.
Restore the window if minimized, show it if hidden, and raise it above other windows.
Takes no parameters.
Set the main window\
Takes no parameters.
Opt in or out of anonymous usage analytics (engine, duration, mode, language — never
Takes no parameters.
Configure how one of the bottom panel rows behaves in the main app:
Takes no parameters.
Set the Whisper transcription language. ISO 639-1 code (e.g.
Takes no parameters.
Open an http/https URL or one of the Windy ecosystem schemes (windypro://, windychat://,
Takes no parameters.
Restore all global keyboard shortcuts to their catalog defaults and re-register them.
Takes no parameters.
Set the UI font-size zoom factor (70-150%). 100 is default. Mirrors the A- / A+ buttons
Takes no parameters.
- Every tool, no call limit
- No card, no account needed
- Source published under a licence you can read
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because nothing bills
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable. Windy Word costs nothing to install and nothing to call, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| verification-discount | repo | publisher verification (public source) — no provenance, but the source is public and inspectable | −1 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
Tools were statically extracted from the published source (111 recovered), not enumerated from a running server. Tool-poisoning, Unicode-smuggling, capability and toxic-flow analysis ran on this inferred surface, but a mis-parsed registration could be missed or mis-attributed, so tool-derived findings are capped below “confirmed”. To grade the real runtime surface, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| get_platform | no tags | |
| list_paste_strategies | no tags | |
| get_active_paste_strategy | no tags | |
| set_paste_strategy | no tags | |
| test_paste_strategy | no tags | |
| run_paste_injection_test | no tags | |
| auto_paste | no tags | |
| get_paste_history | no tags | |
| clear_paste_history | no tags | |
| get_paste_target | no tags | |
| list_hotkeys | no tags | |
| set_hotkey | no tags | |
| list_models | no tags | |
| set_model | no tags | |
| get_windytune_state | no tags | |
| list_installable_dependencies | no tags | |
| install_dependency | no tags | |
| get_install_history | no tags | |
| clear_install_history | no tags | |
| setup_install_polkit_rule | no tags | |
| install_dependency_async | no tags | |
| get_install_status | no tags | |
| list_install_jobs | no tags | |
| export_soul_file_to_path | no tags | |
| transcribe_audio_file | no tags | |
| get_sound_effect_state | no tags | |
| set_sound_hook | no tags | |
| set_active_sound_pack | no tags | |
| set_master_sfx_volume | no tags | |
| set_sound_effect_mode | no tags | |
| get_widget_state | no tags | |
| list_sound_effect_packs | no tags | |
| detect_hardware | no tags | |
| get_autostart_status | no tags | |
| set_autostart | no tags | |
| translate_text | no tags | |
| lookup_translation_memory | no tags | |
| save_translation_memory | no tags | |
| get_translation_memory_stats | no tags | |
| clear_translation_memory | no tags | |
| extract_document_text | no tags | |
| save_text_file | no tags | |
| list_archive_entries | no tags | |
| get_archive_stats | no tags | |
| read_archive_entry | no tags | |
| delete_archive_entry | no tags | |
| open_archive_folder | no tags | |
| list_voice_clones | no tags | |
| get_active_voice_clone | no tags | |
| set_active_voice_clone | no tags | |
| delete_voice_clone | no tags | |
| preview_voice_clone | no tags | |
| create_voice_clone_from_path | no tags | |
| submit_voice_clone_to_cloud | no tags | |
| get_cloud_clone_order_status | no tags | |
| list_clone_bundles | no tags | |
| run_diagnostics | no tags | |
| list_diagnostic_checks | no tags | |
| cloud_diagnose | no tags | |
| list_settings | no tags | |
| describe_setting | no tags | |
| set_setting | no tags | |
| get_config | no tags | |
| set_config | no tags | |
| get_version | no tags | |
| search_archives | no tags | |
| check_for_updates | no tags | |
| set_theme | no tags | |
| get_window_state | no tags | |
| minimize_window | no tags | |
| maximize_window | no tags | |
| unmaximize_window | no tags | |
| bring_window_to_front | no tags | |
| set_window_geometry | no tags | |
| set_analytics_enabled | no tags | |
| set_panel_visibility | no tags | |
| set_language | no tags | |
| open_url | no tags | |
| reset_hotkeys | no tags | |
| set_font_size | no tags | |
| set_video_fullscreen | no tags | |
| get_recording_state | no tags | |
| archives_by_date_range | no tags | |
| bulk_delete_archives | no tags | |
| cancel_recording | no tags | |
| restart_app | no tags | |
| quit_app | no tags | |
| set_always_on_top | no tags | |
| set_opacity | no tags | |
| send_notification | external-sink | |
| bulk_export_archives_text | no tags | |
| start_recording | no tags | |
| stop_recording | no tags | |
| list_audio_devices | no tags | |
| get_my_plan | no tags | |
| get_billing_history | no tags | |
| get_billing_summary | no tags | |
| open_upgrade_checkout | no tags | |
| open_billing_portal | no tags | |
| logout_account | no tags | |
| speak_text | no tags | |
| stop_speaking | no tags | |
| list_tts_voices | no tags | |
| undo_last_setting_change | no tags | |
| list_recent_setting_changes | no tags | |
| pause_other_audio | no tags | |
| resume_other_audio | no tags | |
| scan_folder_for_media | no tags | |
| bulk_ingest_to_clone | no tags | |
| watch_folder_for_recordings | no tags | |
| list_clone_watchers | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
Pinned to 1.11.0 — the install command below asks for that release. A pin is part of an install, so it is kept for this visit and written down when you install.
No release note was published with this version.
Only accounts with at least 50 real tool calls against this server in the last 90 days can post. Ratings are weighted by how much the reviewer actually uses it, and publishers can reply once per review.
Writing one takes an account with at least 50 real tool calls against Windy Word in the last 90 days. That is the whole gate — there is no other way to post, which is why the counts beside each review are worth reading.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes an account with 50 real tool calls against it.