MCP Server · Model Context Protocol

Give your AI agent
terminal memory.

21 tools, 8 resources, and 5 prompts that let Claude Code, Cursor, Codex, and other AI agents query your shell history through a local MCP server.

suv init claude-code

or suv init cursor for Cursor, suv init codex for Codex, suv init opencode for OpenCode

Three questions an agent can answer.

Each answer is based on records the agent retrieves from your local history. The output below is a synthetic example in the format the 0.4.1 tools return. Answers depend on what your integrations captured.

Asked in Codex list_agent_sessionsget_agent_session

“Pick up where my Claude Code session left off in this repo.”

Retrieved evidence

list_agent_sessions  (excerpt)
{"sessions":[{"id":"claude-8f3c2a71-…","agent":"claude-code",
  "cwd":"/Users/dev/api","model":"claude-sonnet-4-5",
  "event_count":38,"command_count":9,"coverage":"partial",
  "usage":{"input_tokens":41210,"output_tokens":6120, …}}]}

get_agent_session  (excerpt)
{"events":[ …
   {"kind":"prompt","data":{"text":"Add rate limiting to the login route"}, …},
   {"kind":"response","data":{"text":"Two tests in tests/auth.test.ts still expect 200 …"}, …}],
 "commands":[ …
   {"id":"command-5512","command":"npm test","exit_code":1, …}],
 "summaries":[], …}

Agent's answer

The last Claude Code session added rate limiting to the login route. Its final npm test run failed (command-5512): two tests in tests/auth.test.ts still expect 200 instead of 429. I'll start by updating those tests.

Asked in Claude Code command_status

“Has cargo test --workspace passed here before?”

Retrieved evidence

"cargo test --workspace" — 3 recent runs (2 succeeded, 1 failed):

1.   cargo test --workspace | exit 101 | 0ms | 2026-09-18 16:04:11 | agent: openai-codex
    dir: /Users/dev/api

2.   cargo test --workspace | ok | 51.7s | 2026-09-17 11:20:45 | human: terminal
    dir: /Users/dev/api

3.   cargo test --workspace | ok | 49.9s | 2026-09-16 09:02:13 | human: terminal
    dir: /Users/dev/api

Agent's answer

Yes. It passed twice when you ran it (about 50 seconds each). The most recent run, from Codex yesterday, exited with 101. Codex doesn't report durations, so that run shows 0ms.

Asked in Cursor what_failed

“What failed in the last 24 hours, and which prompt caused it?”

Retrieved evidence

2 failures in the last 24 hours in /Users/dev/api:

FAILURES TRIGGERED BY PROMPTS:

  Prompt: "Add rate limiting to the login route"
  1 commands failed:
    exit 1 | npm test | 2026-09-19 09:12:40

OTHER FAILURES (no prompt captured):
  exit 137 | docker compose up | terminal | 2026-09-19 08:55:02

Agent's answer

Two commands failed. npm test failed during the "Add rate limiting to the login route" prompt. docker compose up exited with 137 in your own terminal, with no prompt attached. Exit 137 usually means the process was killed, often by running out of memory.

Capture happens first. MCP only reads.

The MCP server does not watch your agent. It can return only what Suvadu's hooks and session imports have already saved.

1. Capture: hooks and native session import

  • Your Zsh/Bash hook records each command you run, with exit code, duration, and directory.
  • suv init <agent> installs hooks, a plugin, or an extension that records the agent's shell commands and prompts.
  • For Claude Code and Codex (at Stop/SessionEnd) and OpenCode (when a session goes idle), Suvadu also imports the native transcript: prompts, responses, models, and reported token counts.
  • Everything is stored in a local SQLite database.

2. Access: MCP at question time

  • Your MCP client starts suv mcp-serve and talks to it over stdin/stdout.
  • Tools query the database when the agent calls them. The server's connection is read-only; only the optional write tools below can save anything.
  • Directories listed in [mcp] exclude_dirs are left out of command and session results.
  • A turn still in progress may not be in the database yet. Native transcripts are imported when the turn ends.

What each agent integration captures: capability matrix. Browse captured sessions yourself with suv sessions.

21 read tools, on by default.

History, session, and skills tools read your local SQLite database. None of them write. Your MCP client controls how returned data is used. You can disable individual tools with [mcp] disabled_tools.

Discover

search_commands

Search history by text, directory, executor, and date range

recent_commands

What just happened in this directory

command_status

Has this command been run before? What happened?

Analyze

get_stats

Command counts, success rates, activity patterns

what_changed

Recent commands that likely changed files: writes, deletions, git, installs, config

what_failed

Failed commands and the prompt that caused them

Predict

suggest_next

Likely next commands, ranked by frequency and recency over the last 7 days

assess_risk

Pre-execution safety check with risk classification

Context

session_history

Full chronological history of a session

list_sessions

Browse sessions with metadata

get_prompts

AI agent prompts and the commands they triggered

Shared Skills

list_skills

Discover active instructions and checklists across agents

get_skill

Read a skill by name, with an optional scope hint

search_skills

Search names, descriptions, and triggers before creating new instructions

Agent Memory

find_agent_session

Search past agent sessions by prompt, directory, or date

replay_agent_session

Full timeline of a specific agent session with prompts

learn_from_failures

Recurring failures and agent vs human comparison

project_context

Project briefing: commands, failures, agent activity

Sessions

list_agent_sessions

Browse locally captured AI sessions from any agent

get_agent_session

Paginated events, commands, usage, and saved summaries for one session

resolve_current_agent_session

Conservatively resolve "this session" without guessing

Two optional write tools, off by default

propose_skill

Saves a proposed skill as pending review. It does not become active until you approve it in suv skills (Ctrl+P).

save_session_summary

Stores a summary the agent wrote for a captured session. Only use it when you ask the agent to save. It must cite event/command IDs and the session's current revision. The writer agent and model are what the caller declares, not verified identities.

To enable either tool, edit config.toml directly (~/Library/Application Support/tech.appachi.suvadu/ on macOS, ~/.config/suvadu/ on Linux). The suv settings screen does not offer these options yet.

[mcp]
allow_skill_proposals = true     # enables propose_skill
allow_session_summaries = true   # enables save_session_summary

Then fully restart your MCP client, so it starts a new MCP server that reads the setting. Saving a session summary · Configuration reference

Context your client can request.

8 resources provide context that compatible clients can read. Whether they are loaded automatically depends on your MCP client.

Resources expose recent commands, failures, agent activity, and project context. Your client chooses which resources to read and when to include them in the agent's context.

MCP Resources
suvadu://skills/index Active skills with scopes and triggers
suvadu://history/recent Last 20 commands with exit codes
suvadu://failures/recent Recent failures grouped by prompt
suvadu://stats/today Today's command count & success rate
suvadu://risk/summary Risk summary of recent agent commands
suvadu://agents/activity Per-agent activity breakdown
suvadu://agents/sessions Recent agent sessions with prompts
suvadu://context/project Project briefing: commands, failures, workflow

Reusable prompts. Shared instructions.

MCP clients with prompt support can offer five ready-made requests. Choose one to ask the agent for a briefing, failure review, command risk check, or session summary.

project_briefing

Get oriented with common commands, failures, and agent activity.

check_recent_failures

Review recurring failures over a chosen number of days.

assess_command_risk

Request a risk assessment for a command before running it.

summarize_agent_session

Summarize a specific captured agent session, with citations.

summarize_current_session

Resolve and summarize the current session, extending its last checkpoint.

Use suv skills to manage instructions agents can discover over MCP. Native sync also writes skills into Claude Code, Cursor, and Codex. Agent proposals stay pending until you approve them.

Explore shared skills → Full MCP reference →

Set up in one command.

Automatic MCP configuration for supported agents. The server communicates over stdin/stdout.

1

Install Suvadu

brew tap AppachiTech/suvadu && brew install suvadu

All install options, including enabling shell recording

2

Connect your agent

suv init claude-code

or suv init cursor / suv init codex / suv init opencode

3

Restart your agent

Restart the agent, confirm the Suvadu MCP tools are available, and try a history query. Codex also asks you to trust the hooks in /hooks.

Connect supported coding agents.

One-command MCP setup for Claude Code, Cursor, Codex, and OpenCode. Dedicated integrations and shell detection cover the tools listed below.

MCP auto-configured

Claude Code logo
Claude Code
suv init claude-code
Cursor logo
Cursor
suv init cursor
Codex logo
Codex
suv init codex
OpenCode logo
OpenCode
suv init opencode

Command tracking integrations

pi.dev
suv init pi
VS Code logo
VS Code
shell environment detection
Windsurf logo
Windsurf
shell environment detection
Antigravity logo
Antigravity
shell environment detection

MCP can be manually configured for any agent that supports the Model Context Protocol.

100% local. By design.

Suvadu stores history locally. An MCP client can send returned history to its model provider; review your client settings before connecting it.

No network ports

JSON-RPC over stdin/stdout only. Never opens a TCP or UDP port.

No cloud

Suvadu stores history in local SQLite and has no built-in cloud history sync. Connected clients handle the data they request.

Same data as CLI

Reads from the same database that powers suv search. No separate data store.

Secret redaction

Known secret patterns are redacted by default before storage. Configure redaction for your formats; pattern matching can miss secrets.

Ready to give your agent memory?

Install Suvadu, connect your agent with one init command, then open a captured session to see what the agent can retrieve.

Complete reference: MCP Server documentation.