Skip to content
Conduit

mcp server

banshee

Give your AI coding agent a voice: it speaks its decisions and questions, you answer by talking, and it can change your desktop. Local by default.

yamanahlawat/bansheecommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 18, 2026

Banshee

  • Gives your AI coding agent a voice.
  • Speaks its decisions and questions out loud.
  • You answer by talking, hands-free.
  • Whisper, Kokoro and Silero run inside Banshee. Nothing to host, no account.
  • Words leave your laptop only with a remote listener or voice you set. The tray and banshee status say so.
  • Also a dictation tool: hold a hotkey, speak. The text lands in the app you are focused on.
  • Tell it to change your desktop: banshee tell "make the window gaps bigger" hands your words to your coding agent.

Demo

https://github.com/user-attachments/assets/7ec3eaa1-33d6-4cdd-8e5b-10ae11871918

On Omarchy, one spoken request sets the desktop up for a recording: no screen lock, no top bar, no window gaps. A second request puts the gaps back, and show me opens the diffs.

https://github.com/user-attachments/assets/912c94af-baac-4385-b135-07a4eeb11b0e

On macOS, Claude Code finds a first-run bug in Banshee's own code, says out loud what it would change, and asks how far to take the fix. The answer is spoken back. Nothing was typed.

More demos: a focus mode built by voice on Omarchy.

Quickstart on Linux

Hyprland, and Omarchy on it. Five commands:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/yamanahlawat/banshee/releases/latest/download/banshee-installer.sh | sh
banshee setup
banshee start
banshee bind hyprland
banshee connect claude
  • The installer says how to put banshee on your PATH. Open a new shell if the next command is not found.
  • banshee setup downloads the models (~860 MB). banshee start then finds them and needs no restart.
  • banshee bind hyprland shows the block before it writes. Omarchy ships wtype, so nothing more is installed.
  • banshee connect claude shows the change before it writes.
  • Restart Claude Code.
  • Hold F9 and speak. The text is typed into the app you are focused on. All three keys
  • Omarchy's own dictation tool also uses F9. Unbind one if both are there.
  • banshee status names the fix, and changes nothing itself.
  • Another compositor, or a status bar

Quickstart on macOS

Apple Silicon, with the window.

curl -fsSL https://github.com/yamanahlawat/banshee/releases/latest/download/Banshee.app.tar.gz | tar -xzf - -C /Applications
open /Applications/Banshee.app
  • The downloaded app needs no xattr line. Run the same curl again to update it.
  • No admin account? Unpack into ~/Applications, open it from there, and read that path in the line below.
  • Opening the app puts the banshee command on your PATH, where /usr/local/bin takes it. A clean macOS has no such directory, and one line makes it.
  • The window asks before it downloads the models (~860 MB), and lets you pick the speech model first.
  • Approve the Microphone and Accessibility grants. Without them Banshee cannot record or type.
  • Hold Right Option, speak, let go. The text is typed into the app you are focused on.
  • banshee status names the fix, and changes nothing itself.

Or with Homebrew, which puts banshee on your PATH:

brew install --cask yamanahlawat/banshee/banshee
xattr -dr com.apple.quarantine /Applications/Banshee.app
open /Applications/Banshee.app
  • The xattr line is needed until Banshee is notarised, and Homebrew marks every upgrade too. The banshee command offers to clear it when you next run it.

Then give your coding agent a voice: connect it.

Connect your coding agent

This is the step that closes the voice loop: the agent speaks, and you answer out loud.

In the window, open Agents. Each agent installed on this machine has a row:

  1. Press Connect. The window shows the exact change it will write.
  2. Press Apply.
  3. Restart the agent. It speaks its decisions and asks you questions out loud.
  • Antigravity, Claude Code, OpenCode and Pi are verified on a real install. Codex and Cursor follow their published formats, and wait for a report.
  • Pi has its own extension API, so it gets a native extension instead.

From the terminal, the same work:

banshee connect            # which agents are installed, and which are connected
banshee connect antigravity # Antigravity IDE, agy CLI and SDK: the MCP server in ~/.gemini/config/mcp_config.json and the stop hook in ~/.gemini/config/hooks.json
banshee connect claude      # Claude Code: the MCP server and a stop hook that sends a silent turn back once to speak
banshee connect codex       # Codex CLI: the MCP server in ~/.codex/config.toml and the same stop hook in ~/.codex/hooks.json; trust it once in /hooks
banshee connect cursor      # Cursor: the MCP server in ~/.cursor/mcp.json
banshee connect opencode    # OpenCode: the MCP server
banshee connect pi          # Pi: the native extension
  • Each command shows the exact change, and asks before it writes. Restart the tool after.
  • banshee-mcp-shim is the MCP stdio server behind this.
  • Any other MCP host takes the same shape. Use the shim's full path if the bare name does not resolve:
{
  "mcpServers": {
    "banshee": {
      "command": "banshee-mcp-shim"
    }
  }
}

It exposes three tools:

ToolWhat the agent does with it
speak_statusSay something aloud, for decisions made and work finished
ask_userAsk a question aloud, then wait for and return your spoken answer
listen_for_promptPick up anything you've said since it last checked

The keys

The defaults. banshee bind hyprland writes the Linux column:

Linux, on HyprlandmacOSWhat happens
DictateF9Right OptionThe text is typed into the app you are focused on.
Tell your agentSuper + F9banshee tell "..."Your agent changes your desktop, and speaks the result.
Keep, do not typeShift + F9Shift + Right Optionbanshee listen prints it.
  • The key is yours. On Linux, banshee bind hyprland asks for it. On macOS, run banshee config set audio.hotkey LeftOption, then banshee start. The Linux demo videos use F5.
  • Hold the key while you speak, or tap it instead.
  • Tell takes the first free modifier, so a key that already holds Super gets Ctrl instead. What tell does

Use it

  • Talk over it. The hotkey stops whatever Banshee says. barge_in = "none" lets it finish.
  • The window. Open Banshee in the menu bar: the last dictation with a copy button, the day's history, every setting. Quit it and dictation carries on.
  • The figure above the Dock. On macOS, a small rust capsule shows while Banshee records, works, waits for your answer or fails. Nothing shows at rest. feedback.mode picks the figure, the earcons or both. Feedback
  • The menu bar icon answers one question: can I speak right now.
IdleRecordingBusySpeakingWaiting for youNot running
  • Busy means Banshee transcribes what you said, or the agent a banshee tell started still runs.
  • Waiting for you means an agent asked a question and holds for your answer.
  • The states differ by shape, never by colour alone, and macOS tints the template image.

Other ways to install

With the desktop windowTerminal only
Linux (x86_64, arm64)from sourcethe installer above, or Homebrew
macOS (Apple Silicon)a direct download, or the caskthe formula
Windowsnot yetnot yet

More

License

Dual-licensed under MIT and Apache 2.0.

↑↓ navigate openesc close