Skip to main content
MCP server CX Codex

Suvadu — Claude Code MCP server: shell history and agent sessions

Replaces shell history with a SQLite store: every command keeps its exit code, duration, directory and session. Agents query it over MCP.

Open on GitHub

What Suvadu does

Suvadu hooks into your shell and writes each command to a local SQLite database. Entries carry context: exit code, duration, directory, executor, session. Inside a git repository it also records the branch the command was typed on. Nothing leaves the machine — no cloud, no telemetry, no account.

The MCP server exposes 22 read-only tools, 8 resources and 6 prompts. Two write tools stay off until you opt in. Through them an agent searches the history, learns from past failures, assesses command risk, and traces a command back to the prompt that triggered it. Configuration lives in suv settings.

Install comes from Homebrew, an install script, or Cargo — the last one needs Rust 1.95 or newer. Then the shell hook goes in: eval "$(suv init zsh)" in ~/.zshrc, or the bash equivalent. Without it nothing gets recorded. Up-arrow recall is a separate matter: oh-my-zsh, zsh-history-substring-search, zsh-vi-mode, fzf, atuin and mcfly all bind Up, so the eval line has to sit last in ~/.zshrc. Bash only gets Ctrl+R for now.

What it helps with

  • find the command that failed yesterday in another directory
  • trace a command back to the prompt that caused it
  • assess a risky command before running it
  • keep Claude and Codex sessions in one searchable place
  • recall a recent command from its first few characters

Example prompts for the agent

  • Search my history for commands that failed in this project
  • Show which prompt triggered the last build command
  • Assess the risk of rm -rf build based on past runs

How to install Suvadu

Install

The MCP registry has no launch command for it: see the repository README

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about Suvadu

How do I install Suvadu in Claude Code?

Install the binary first: brew tap AppachiTech/suvadu && brew install suvadu. Then add the shell hook — echo 'eval "$(suv init zsh)"' >> ~/.zshrc && source ~/.zshrc for zsh, or the same line with bash and ~/.bashrc. Check it with suv status.

What does Suvadu do?

It keeps shell history in SQLite with exit code, duration, directory and session attached to each command. An agent reads that over MCP to search commands, learn from failures and assess risk.

Why did my up arrow stop working after installing Suvadu?

A plugin loaded after the eval "$(suv init zsh)" line rebound it. Put that line last in ~/.zshrc and run exec zsh. The suv doctor command names the widget that took over.

Similar MCP servers

All MCP servers for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor