关于 Terminal History Mcp
Terminal History Mcp 是面向开发者和编码 Agent 的本地 MCP 服务,可搜索 zsh、bash 和 fish 历史记录。它使用 SQLite FTS5 存储命令,并在写入前清除检测到的密钥。
主要功能
- 01全文搜索 Shell 历史
- 02按工作目录筛选命令
- 03查找非零退出码命令
- 04查看相邻命令序列
- 05重新索引历史文件和日志
- 06存储前清除密钥
适用场景
- 01找回数周前使用过的命令
- 02检查 Shell 会话中的失败命令
- 03查找特定目录中运行的命令
MCP 相关
向 MCP 客户端提供 Shell 历史搜索、筛选和重新索引工具。它通过 stdio 运行,面向 Claude Code、Cursor、Cline 和 Zed 等客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
terminal-history-mcp
可通过 Claude Code、Cline、Cursor、Zed 或任何 MCP 客户端搜索 shell 历史记录(zsh / bash / fish)。仅限本地运行。使用 SQLite FTS5。存储前会隐藏机密信息。

可以询问的问题
- “我上次通过 ssh 登录 staging 服务器是什么时候?”
- “显示最近失败的命令。”
- “我昨天在
/etc/nginx中运行了什么?” - “我 3 周前用过的那个很长的 docker compose 标志是什么?”
- “显示
kubectl apply前后的命令链。”
安装
npm install -g terminal-history-mcp
terminal-history-mcp index # one-time backfill from existing history
(或者从克隆的仓库运行:git clone … && npm install && npm run build && npm link。)
接入 Claude Code
claude mcp add --scope user terminal-history -- terminal-history-mcp
claude mcp list
接入其他 MCP 客户端
适用于任何接受 stdio MCP 服务配置的客户端:
{
"mcpServers": {
"terminal-history": {
"command": "terminal-history-mcp"
}
}
}
通过 MCPize 连接
无需本地安装,即可立即使用此 MCP 服务:
npx -y mcpize connect @HasanJahidul/terminal-history --client claude
或通过以下地址连接:https://mcpize.com/mcp/terminal-history
捕获 cwd 和退出代码(推荐)
默认情况下,zsh/bash 历史文件仅存储命令。若要启用 recent_in_dir 和 failed_commands,请安装 shell hook:
terminal-history-mcp install-hook zsh # or bash, or fish
exec $SHELL # reload
此 hook 会将以竖线分隔的行追加到 ~/.terminal-history-mcp/extended.log。重新索引时会读取这些内容。
如需先检查代码片段:
terminal-history-mcp print-hook zsh
如需移除:
terminal-history-mcp uninstall-hook zsh
工具
| 工具 | 功能 |
|---|---|
search_history(query, limit) | 在所有历史记录中进行 FTS5 关键词和前缀匹配 |
recent_in_dir(cwd, limit) | 某个工作目录中的最近 N 条命令(需要 hook) |
failed_commands(since_ts_ms, limit) | 退出代码非零的命令(需要 hook) |
command_chains(query, window_ms, limit) | 对每个匹配项,列出前后 ±5 分钟内的命令 |
reindex | 重新解析历史文件和扩展日志 |
隐私
所有数据都保存在本地。数据库位于 ~/.terminal-history-mcp/history.db。不会上传任何内容。
插入前会清除机密信息。可检测的模式包括:
- GitHub PAT(
ghp_*、gho_*等) - OpenAI 密钥(
sk-*) - Slack 令牌(
xox[baprs]-*) - AWS 访问密钥(
AKIA…) Authorization: Bearer/Basic <value>X-*-Token: …、X-*-Key: …、X-*-Secret: …标头- 包含
TOKEN/KEY/SECRET/PASSWORD/API_KEY的环境变量 - CLI 标志
--token=…、--api-key …、-k … - URL 基本身份验证
https://user:pass@host - JWT(
eyJ.*.*)
如果发现泄漏,请提交 issue。升级检测模式后,如需清除并重新索引:
rm ~/.terminal-history-mcp/history.db*
terminal-history-mcp index
开发
git clone https://github.com/hasanjahidul/terminal-history-mcp
cd terminal-history-mcp
npm install
npm run build
npm test
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。