专用日志MCP服务器
一个全面的MCP(模型上下文协议)服务器,为Claude提供私人日志和语义搜索功能,用于处理想法、反思和见解。
特性
日志记录
- 多节日记:对反思、观察、项目笔记、用户背景、技术见解和世界知识进行单独分类
- 双存储器:项目笔记保存在项目中,个人想法保存在用户主目录中
- 带时间戳的条目:每个条目都以微秒精度自动标注日期
- YAML 前置元数据:每个条目的结构化元数据
搜索与发现
- 语义搜索:使用本地AI嵌入的自然语言查询
- 向量相似性:查找概念上相关的条目,而不仅仅是关键字匹配
- 本地AI处理:使用@xenova/transformers-不需要外部API调用
- 自动标引:为启动和正在进行的所有条目生成嵌入
隐私与性能
- 完全私密:所有处理都在本地进行,没有数据离开您的机器
- 快速操作:优化了文件结构和内存中的相似性计算
- 稳健的回退:跨平台的智能路径解析
安装
此服务器直接从GitHub运行,使用 npx -无需安装。
MCP配置
克劳德代码(单行)
claude mcp add-json private-journal '{"type":"stdio","command":"npx","args":["github:obra/private-journal-mcp"]}' -s user手动配置
添加到您的MCP设置中(例如,Claude Desktop配置):
{
"mcpServers": {
"private-journal": {
"command": "npx",
"args": ["github:obra/private-journal-mcp"]
}
}
}服务器将自动为日志文件找到合适的位置。
配置
PRIVATE_JOURNAL_PATH 环境变量
集 PRIVATE_JOURNAL_PATH 将所有日志存储覆盖到单个目录。这对于默认主目录解析不适用的容器化部署非常有用:
{
"mcpServers": {
"private-journal": {
"command": "npx",
"args": ["github:obra/private-journal-mcp"],
"env": {
"PRIVATE_JOURNAL_PATH": "/data/journals"
}
}
}
}设置后,项目和用户日志都将写入指定路径,绕过所有回退解析逻辑。
--journal-path CLI参数
您还可以通过CLI参数设置项目日志路径:
npx github:obra/private-journal-mcp --journal-path /path/to/journals这只会覆盖项目日志路径。用户日志路径仍然通过解析 PRIVATE_JOURNAL_PATH 或者默认的主目录逻辑。
MCP工具
服务器提供全面的日志记录和搜索功能:
process_thoughts
具有以下可选类别的多节私人日记:
- 反思:综合思维——你注意到、感受到、理解或处理的东西
- 观察:简短、离散的通知——每句一句
- 项目注释:针对当前项目的技术见解
- 用户文本:关于与人类合作的说明
- 技术_景点:通用软件工程学习
- 世界知识:领域知识和有趣的发现
search_journal
跨所有日记账条目的语义搜索:
- 查询 (必填):自然语言搜索查询
- 限制:最大结果(默认值:10)
- 类型:搜索范围-“项目”、“用户”或“两者”(默认值:“两者”)
- 章节:按特定类别筛选
read_journal_entry
阅读特定条目的完整内容:
- 路径 (必填):搜索结果中的文件路径
list_recent_entries
按时间顺序浏览最近的条目:
- 限制:最大条目数(默认值:10)
- 类型:条目范围-“项目”、“用户”或“两者”(默认值:“两者”)
- 天:返回搜索的天数(默认值:30)
文件结构
项目日志(每个项目)
.private-journal/
├── 2025-05-31/
│ ├── 14-30-45-123456.md # Project notes entry
│ ├── 14-30-45-123456.embedding # Search index
│ └── ...用户日志(全局)
~/.private-journal/
├── 2025-05-31/
│ ├── 14-32-15-789012.md # Personal thoughts entry
│ ├── 14-32-15-789012.embedding # Search index
│ └── ...输入格式
每个markdown文件都包含YAML frontmatter和结构化部分:
---
title: "2:30:45 PM - May 31, 2025"
date: 2025-05-31T14:30:45.123Z
timestamp: 1717160645123
---
## Reflections
I'm excited about this new search feature...
## Technical Insights
Vector embeddings provide semantic understanding...发展
建筑
npm run build测试
npm test开发模式
npm run dev提升克劳德的表现
为了帮助Claude学习并随着时间的推移而提高,请考虑在您的日志中添加日志使用指南 ~/.claude/CLAUDE.md 文件:
## Learning and Memory Management
- YOU MUST use the journal tool frequently to capture technical insights, failed approaches, and user preferences
- Before starting complex tasks, search the journal for relevant past experiences and lessons learned
- Document architectural decisions and their outcomes for future reference
- Track patterns in user feedback to improve collaboration over time
- When you notice something that should be fixed but is unrelated to your current task, document it in your journal rather than fixing it immediately这使Claude能够跨对话构建持久内存,从而做出更好的工程决策和协作模式。
作者
杰西·文森特
阅读更多关于动机和设计的信息 博客文章.
许可证
麻省理工学院
