streamsh wraps your shell sessions and streams output to local agents via MCP.
Agents can search, page through, and (optionally) write to your terminal.
curl -fsSL https://raw.githubusercontent.com/arnavsurve/streamsh/main/install.sh | shInstalls prebuilt binaries to ~/.local/bin. Override with INSTALL_DIR:
curl -fsSL https://raw.githubusercontent.com/arnavsurve/streamsh/main/install.sh | INSTALL_DIR=/usr/local/bin shOther install methods
With Go:
go install github.com/arnavsurve/streamsh/cmd/streamsh@latest
go install github.com/arnavsurve/streamsh/cmd/streamshd@latestFrom source:
git clone https://github.com/arnavsurve/streamsh.git
cd streamsh
./install.shRegister streamshd as an MCP server so your agent can access terminal sessions.
Claude Code:
claude mcp add -s user streamsh -- streamshdManual config
Add to ~/.claude.json:
{
"mcpServers": {
"streamsh": {
"type": "stdio",
"command": "streamshd"
}
}
}OpenCode:
Add to opencode.json (project root) or ~/.config/opencode/opencode.json (global):
{
"mcp": {
"streamsh": {
"type": "local",
"command": ["streamshd"]
}
}
}Start a tracked shell session:
streamsh--title "name" Label the session (default: auto-generated)
--collab Allow the agent to send input to your terminal
--shell /bin/zsh Override the default shell
With --collab, agents can type into your session. This lets them run commands, respond to prompts, and interact with your shell directly:
streamsh --collabThe agent gets access to the write_session MCP tool, which sends raw text to your terminal's PTY. You'll see everything the agent types in real time.