提示日志MCP服务器
一个轻量级的模型上下文协议(MCP)服务器,用于记录来自Claude Code和Claude Desktop的提示,以进行反射和日志记录。
特性
- 🔒 隐私第一:默认情况下,所有数据都存储在本地
- 📝 基于工作流的日志记录:通过Claude.md将日志记录集成到您的Claude工作流中
- 🔍 搜索与查询:使用强大的搜索功能查找历史提示
- 📊 统计:跟踪使用模式和提示频率
- 🏷️ 标签系统:使用自定义标记组织提示
- 📤 导出选项:导出为JSON、CSV或Markdown
- 🪶 轻量级:SQLite后端的资源使用率最低
安装
先决条件
- Node.js 18+
- npm或纱线
- Claude Code和/或支持MCP的Claude Desktop
快速开始
- 克隆此存储库:
git clone https://github.com/r-strawser/prompt-log.git
cd prompt-log- 安装依赖项:
npm install- 构建项目:
npm run build- 创建数据目录(用于首次设置):
mkdir -p data- (可选)配置环境变量:
cp .env.example .env
# Edit .env to customize settings重要提示
- SQLite数据库将在首次使用时自动创建
- 默认数据库位置:
./data/prompts.db - 您可以通过以下方式更改位置
PROMPT_LOG_DB_PATH环境变量
配置
Claude代码配置
将以下内容添加到您的克劳德代码设置中:
{
"mcpServers": {
"prompt-log": {
"command": "node",
"args": ["/path/to/prompt-log/dist/index.js"],
"env": {
"PROMPT_LOG_DB_PATH": "~/.prompt-log/prompts.db"
}
}
}
}Claude桌面配置
- 打开克劳德桌面设置
- 导航到MCP服务器部分
- 使用以下命令添加新服务器:
- 姓名: prompt-log - 命令: node - 论据: /path/to/prompt-log/dist/index.js
用法
配置后,服务器提供日志工具,可以手动调用或集成到您的工作流中。
可用的MCP工具
查询提示
搜索您的历史提示:
Use the query_prompts tool to search for "function" from claude-code with limit 10出口提示
将提示导出为各种格式:
Use the export_prompts tool with format "markdown" and startDate "2024-01-01"获取统计信息
查看使用统计数据:
Use the get_stats tool标签提示
添加标签以组织提示:
Use the tag_prompt tool with promptId 123 and tags ["javascript", "async"]环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
PROMPT_LOG_DB_PATH | 数据库文件位置 | ./data/prompts.db |
DEBUG | 启用调试日志记录 | false |
MAX_PROMPTS | 要保留的最大提示数 | 0 (无限制) |
RETENTION_DAYS | X天后自动删除 | 0 (残疾) |
数据库模式
SQLite数据库使用以下模式:
prompts (
id: INTEGER PRIMARY KEY,
timestamp: TEXT,
app_source: TEXT,
prompt_text: TEXT,
session_id: TEXT,
tags: TEXT (JSON array),
metadata: TEXT (JSON object)
)发展
在开发模式下运行并自动重新加载:
npm run dev安全考虑
- 默认情况下,所有数据都存储在本地
- 未发出外部网络请求
- 应适当设置数据库文件权限
- 考虑为敏感提示启用加密
让日志记录感觉自动化
虽然MCP服务器不能自动拦截提示,但您可以创建一个感觉自动的工作流:
使用CLAUDE.md进行工作流集成
创建一个 CLAUDE.md 项目根目录中的文件:
# Project Assistant Instructions
When I provide a new prompt or task:
1. First, log it using: Use the log_prompt tool with prompt "[the user's prompt]" and appSource "claude-code"
2. Then proceed with the actual task
This helps maintain a complete history of our interactions.这样,Claude在处理该项目时,会将提示记录为其正常工作流程的一部分。
故障排除
提示未被记录
- 记住:日志记录需要明确的工具调用(手动或通过CLAUDE.md工作流)
- 检查服务器是否列在Claude应用程序的MCP配置中
- 验证数据库路径是否可写
- 检查日志中是否有任何错误消息
数据库锁定错误
- 服务器使用WAL模式以实现更好的并发访问
- 如果问题仍然存在,请确保只有一个实例正在运行
许可证
麻省理工学院
