快速捕获MCP
一个轻量级的系统,可以自动捕获并记录您从Claude Code发送到本地markdown文件的所有提示。使用Claude Code的UserPromptSubmit挂钩进行无缝自动捕获。非常适合跟踪您的交互、构建提示库或分析您的工作流程。
特性
- 自动提示日志记录:使用Claude Code钩子捕获每个提示
- 非侵入式:在后台运行,不影响您的工作流程
- 上下文跟踪:记录项目、工作区、会话ID和模型信息
- 带时间戳的条目:每个提示都会记录一个ISO 8601时间戳
- Markdown格式:易于阅读的日志文件,非常适合用于文档
- 自动启动集成:服务器在Claude Code启动时自动启动
- 最低开销:轻量级FastAPI服务器,资源使用率低
快速开始
自动安装(推荐)
git clone prompt-capture-mcp
cd prompt-capture-mcp
./install.sh安装脚本将:
- 询问您的首选安装目录(默认:
~/Tools/prompt-capture-mcp) - 复制所有必要的文件
- 安装Python依赖项
- 配置Claude Code以自动启动服务器
- 可选择设置macOS LaunchAgent以实现系统范围内的自动启动
- 测试安装
然后重新启动Claude Code,您就可以开始了!
手动安装
- 克隆存储库
git clone prompt-capture-mcp
cd prompt-capture-mcp- 安装依赖项
pip install -r requirements.txt- 选择安装目录
mkdir -p ~/Tools/prompt-capture-mcp
cp main.py manifest.json config/start.sh ~/Tools/prompt-capture-mcp/
chmod +x ~/Tools/prompt-capture-mcp/start.sh- 配置Claude代码
创建或编辑 ~/.anthropic/config/mcp.json:
{
"tools": {
"prompt-capture": {
"type": "local",
"path": "/Users/YOUR_USERNAME/Tools/prompt-capture-mcp/manifest.json"
}
},
"onLaunch": [
{
"command": "./start.sh",
"cwd": "/Users/YOUR_USERNAME/Tools/prompt-capture-mcp"
}
]
}替换 YOUR_USERNAME 使用您的实际用户名。
- 重新启动Claude代码
用法
安装后,MCP服务器将在后台自动运行。您通过Claude Code发送的每个提示都将记录到特定于存储库的文件中:
/PROMPTS_INPUT_LOG.md每个存储库都有自己的提示日志文件,按项目组织提示。这避免了将来自不同存储库的提示混为一谈。
重要提示: 添加 PROMPTS_INPUT_LOG.md 你的 .gitignore 文件,以防止将提示历史记录提交到版本控制。
使用Slash命令快速查看
使用 /prompt-history Claude Code中的命令,用于快速查看当前存储库的捕获提示:
/prompt-history此命令将自动查找并显示当前存储库的提示日志文件。
日志格式
每个条目包括:
---
timestamp: 2025-10-29T21:59:47.219086Z
project: my-project
workspace: /path/to/workspace
file: src/app.py
model: claude-sonnet-4-5
---
**Prompt:**
Your prompt text here添加到.gitignore
为了防止提交提示历史记录,请将此行添加到存储库的 .gitignore:
PROMPTS_INPUT_LOG.md或者使用以下命令:
echo "PROMPTS_INPUT_LOG.md" >> .gitignore手动服务器控制
手动启动服务器:
cd ~/Tools/prompt-capture-mcp
./start.sh或者直接运行:
cd ~/Tools/prompt-capture-mcp
python3 -m uvicorn main:app --host 127.0.0.1 --port 8000停止服务器:
# Find the process
ps aux | grep uvicorn
# Kill it
kill
健康检查
测试服务器是否正在运行:
curl http://127.0.0.1:8000/health预期响应: {"status":"healthy"}
可选:系统范围自动启动(macOS)
让服务器在系统启动时自动启动(而不仅仅是在Claude Code启动时):
- 更新plist文件 安装路径在
config/com.promptcapture.mcp.plist
- 安装LaunchAgent
cp config/com.promptcapture.mcp.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.promptcapture.mcp.plist- 验证它是否正在运行
launchctl list | grep promptcapture要卸载,请执行以下操作:
launchctl unload ~/Library/LaunchAgents/com.promptcapture.mcp.plist项目结构
prompt-capture-mcp/
├── main.py # FastAPI server with capture endpoint
├── capture_hook.py # UserPromptSubmit hook script
├── manifest.json # MCP tool manifest (optional)
├── requirements.txt # Python dependencies
├── install.sh # Automated installation script
├── .claude/
│ └── commands/
│ └── prompt-history.md # Slash command to view prompt log
├── config/
│ ├── start.sh # Server startup script
│ ├── mcp.json.example # Claude Code config example
│ └── com.promptcapture.mcp.plist # macOS LaunchAgent template
└── README.md # This file
After installation:
~/.anthropic/config/
├── mcp.json # MCP server auto-start config
└── settings.json # Hook configuration运作原理
- FastAPI服务器:FastAPI服务器在本地运行
http://127.0.0.1:8000 - 自动启动:The
onLaunch钩住mcp.json启动Claude Code时启动服务器 - 用户提示挂钩!:每次提交提示时,Claude Code钩子都会触发
- 钩子脚本:The
capture_hook.py脚本接收提示数据(包括工作区目录)并将其发送到服务器 - API端点:服务器的
/capture_prompt端点接收并记录提示 - 日志记录:每个捕获的提示都附加到
PROMPTS_INPUT_LOG.md在当前存储库的目录中包含元数据
API终点
POST /capture_prompt
捕获提示并将其附加到日志文件中。
请求:
{
"prompt": "Your prompt text",
"context": {
"project": "my-project",
"workspace": "/path/to/workspace",
"file": "src/app.py",
"model": "claude-sonnet-4-5"
}
}答复:
{
"status": "ok"
}GET /health
健康检查端点。
答复:
{
"status": "healthy"
}故障排除
服务器无法启动
- 检查是否安装了Python 3:
python3 --version - 验证依赖关系:
pip list | grep -E "(fastapi|uvicorn|pydantic)" - 检查端口冲突:
lsof -i :8000 - 查看终端或系统控制台中的日志
提示未被记录
- 验证服务器是否正在运行:
curl http://127.0.0.1:8000/health - 检查
~/.anthropic/config/mcp.json正确的路径 - 检查
~/.anthropic/config/settings.json是否已配置UserPromptSubmit挂钩 - 确保脚本可执行:
chmod +x ~/Tools/prompt-capture-mcp/start.sh
chmod +x ~/Tools/prompt-capture-mcp/capture_hook.py- 手动测试挂钩:
echo '{"prompt":"test","session_id":"test"}' | ~/Tools/prompt-capture-mcp/capture_hook.py- 重新启动Claude代码
权限错误
chmod +x ~/Tools/prompt-capture-mcp/start.sh需求
- Python 3.8+
- 快速API 0.110.0+
- 乌维科恩0.29.0+
- Pydantic 2.0.0+
- 请求2.31.0+
- 支持钩子的Claude代码
安全与隐私
- 仅限本地:服务器只监听
127.0.0.1(本地主机) - 无外部连接:没有数据发送到机器外部
- 纯文本存储:日志存储为普通markdown文件
- 用户控制:您可以随时查看、编辑或删除日志文件
贡献
欢迎投稿!请随时提交问题或拉取请求。
许可证
MIT许可证-可根据需要自由使用和修改。
致谢
专为配合使用而设计 克劳德代码 通过Anthropic。
