Terminal History MCP
terminal-history-mcp
Search your shell history (zsh / bash / fish) from Claude Code, Cline, Cursor, Zed, or any MCP client. Local-only. SQLite FTS5. Secret-redacted before storage.

What you can ask
"When did I last ssh into the staging server?"
"Show recent failed commands."
"What did I run yesterday in
/etc/nginx?""What's that long docker compose flag I used 3 weeks ago?"
"Show command chains around
kubectl apply."
Install
npm install -g terminal-history-mcp
terminal-history-mcp index # one-time backfill from existing history(Or run from a clone: git clone … && npm install && npm run build && npm link.)
Wire to Claude Code
claude mcp add --scope user terminal-history -- terminal-history-mcp
claude mcp listWire to other MCP clients
Anywhere that takes a stdio MCP server config:
{
"mcpServers": {
"terminal-history": {
"command": "terminal-history-mcp"
}
}
}Connect via MCPize
Use this MCP server instantly with no local installation:
npx -y mcpize connect @HasanJahidul/terminal-history --client claudeOr connect at: https://mcpize.com/mcp/terminal-history
Capture cwd + exit code (recommended)
By default zsh/bash history files store only the command. To unlock recent_in_dir and failed_commands, install the shell hook:
terminal-history-mcp install-hook zsh # or bash, or fish
exec $SHELL # reloadThe hook appends pipe-delimited lines to ~/.terminal-history-mcp/extended.log. Reindex picks them up.
To inspect the snippet first:
terminal-history-mcp print-hook zshTo remove:
terminal-history-mcp uninstall-hook zshTools
Tool | What it does |
| FTS5 keyword + prefix match across all history |
| Last N commands in a working dir (needs hook) |
| Commands with non-zero exit (needs hook) |
| For each match, list commands within ±5 min |
| Re-parse history files + extended log |
Privacy
Everything is local. The DB lives at ~/.terminal-history-mcp/history.db. Nothing is uploaded.
Secrets are scrubbed before insert. Detected patterns:
GitHub PATs (
ghp_*,gho_*, …)OpenAI keys (
sk-*)Slack tokens (
xox[baprs]-*)AWS access keys (
AKIA…)Authorization: Bearer/Basic <value>X-*-Token: …,X-*-Key: …,X-*-Secret: …headersEnv vars containing
TOKEN/KEY/SECRET/PASSWORD/API_KEYCLI flags
--token=…,--api-key …,-k …URL basic-auth
https://user:pass@hostJWTs (
eyJ.*.*)
If you find a leak, please open an issue. To wipe and re-index after upgrading patterns:
rm ~/.terminal-history-mcp/history.db*
terminal-history-mcp indexDevelopment
git clone https://github.com/hasanjahidul/terminal-history-mcp
cd terminal-history-mcp
npm install
npm run build
npm testLicense
MIT — see LICENSE.
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HasanJahidul/terminal-history-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server