Two MCP servers that put AI and human in the same visible terminal.
A PowerShell module. Install-Module PowerShell.MCP exposes the
running pwsh session — and everything reachable from it (cmdlets,
PSGallery, .NET, CLI tools) — to MCP-compatible AI clients. You
can also Import-Module into an already-running elevated pwsh,
and AI controls that exact session.
A standalone MCP server, built on a PTY foundation, that turns any shell, REPL, or debugger into a shared-console surface. 19 adapters out of the box: bash / pwsh / zsh / cmd, 12 REPLs (python, node, fsi, jshell, groovy, racket, sbcl, ccl, abcl, lua, deno, sqlite3), and 3 debuggers (perldb / jdb / pdb). Switch between them per-command within one MCP session. C# NativeAOT, distributed via npm with Authenticode signing and SLSA provenance.
ripple is a functional superset of PowerShell.MCP. Because the shell
runs under a real PTY, ripple lifts PowerShell.MCP's structural
limits: Ctrl+C interrupts AI commands, external-process stderr is
captured, and AI can respond to interactive prompts (Read-Host,
ssh passphrases, …).
| PowerShell.MCP | ripple | |
|---|---|---|
| Install | Install-Module PowerShell.MCP |
npm i -g @ytsuda/ripple |
| Runtime | PowerShell module | Standalone NativeAOT binary |
| Operates | pwsh only | 19 adapters (shells / REPLs / debuggers), per-command switchable |
| Attach to an existing session | Yes — Import-Module into any running pwsh, including elevated |
No — ripple only operates on consoles it spawned |
| Peek at a live console | Not supported | peek_console tool lets either side watch what the other is doing in any active console |
| Ctrl+C to interrupt commands | Doesn't work on AI commands; close the window to escape | Both user and AI can Ctrl+C, and it interrupts any command regardless of who issued it |
Interactive prompt response (Read-Host, read -p) |
User only | User or AI |
| Stream capture | PowerShell streams (Success / Information / Warning / Error) captured separately. Verbose / Debug visible on console only. External-process stderr not captured and not shown. | Single PTY merged stream — everything that reaches the terminal is captured, including external-process stderr |
| File-operation tools | PowerShell cmdlets (Show-TextFiles, Add-LinesToFile, …) |
MCP tools (read_file, edit_file, find_files, …) — same problem space as Claude Code's built-ins |
| Platforms | Windows / Linux / macOS, validated | Code: cross-platform. Published: Windows; Linux / macOS under-tested |
| Signing | PSGallery-signed | Authenticode (Azure Key Vault) + npm SLSA provenance |
Both projects' file tools auto-detect file encoding (UTF-8 / UTF-16 / Shift-JIS / EUC-JP / GBK / …) and preserve original line endings (LF / CRLF / mixed). Where Claude Code's built-in file tools default to UTF-8 / LF and may not preserve non-UTF-8 encodings or CRLF line endings, these detect and preserve the original — Japanese / Chinese sources and CRLF Windows projects survive AI edits intact.
The AI is a participant in your terminal session, not a separate agent running commands behind your back. Both keep a visible window, both allow multiple parallel consoles, both preserve ANSI color, both spill oversized command output to a temp file. The differences above are about integration depth and surface area, not about whether AI and human share the terminal.




