private-journal

private-journal

A comprehensive MCP server that provides Claude with private journaling and semantic search capabilities for processing thoughts, reflections, and insights.

Category
访问服务器

README

Private Journal MCP Server

A comprehensive MCP (Model Context Protocol) server that provides Claude with private journaling and semantic search capabilities for processing thoughts, reflections, and insights.

Features

Journaling

  • Multi-section journaling: Separate categories for reflections, observations, project notes, user context, technical insights, and world knowledge
  • Dual storage: Project notes stay with projects, personal thoughts in user home directory
  • Timestamped entries: Each entry automatically dated with microsecond precision
  • YAML frontmatter: Structured metadata for each entry

Search & Discovery

  • Semantic search: Natural language queries using local AI embeddings
  • Vector similarity: Find conceptually related entries, not just keyword matches
  • Local AI processing: Uses @xenova/transformers - no external API calls required
  • Automatic indexing: Embeddings generated for all entries on startup and ongoing

Privacy & Performance

  • Completely private: All processing happens locally, no data leaves your machine
  • Fast operation: Optimized file structure and in-memory similarity calculations
  • Robust fallbacks: Intelligent path resolution across platforms

Installation

This server is run directly from GitHub using npx - no installation required.

MCP Configuration

Claude Code (One-liner)

claude mcp add-json private-journal '{"type":"stdio","command":"npx","args":["github:obra/private-journal-mcp"]}' -s user

Manual Configuration

Add to your MCP settings (e.g., Claude Desktop configuration):

{
  "mcpServers": {
    "private-journal": {
      "command": "npx",
      "args": ["github:obra/private-journal-mcp"]
    }
  }
}

The server will automatically find a suitable location for the journal files.

Configuration

PRIVATE_JOURNAL_PATH environment variable

Set PRIVATE_JOURNAL_PATH to override all journal storage to a single directory. This is useful for containerized deployments where the default home directory resolution doesn't apply:

{
  "mcpServers": {
    "private-journal": {
      "command": "npx",
      "args": ["github:obra/private-journal-mcp"],
      "env": {
        "PRIVATE_JOURNAL_PATH": "/data/journals"
      }
    }
  }
}

When set, both project and user journals are written to the specified path, bypassing all fallback resolution logic.

--journal-path CLI argument

You can also set the project journal path via CLI argument:

npx github:obra/private-journal-mcp --journal-path /path/to/journals

This only overrides the project journal path. The user journal path still resolves via PRIVATE_JOURNAL_PATH or the default home directory logic.

MCP Tools

The server provides comprehensive journaling and search capabilities:

process_thoughts

Multi-section private journaling with these optional categories:

  • reflections: Integrated thinking — what you noticed, felt, understood, or processed
  • observations: Short, discrete noticings — one or two sentences each
  • project_notes: Technical insights specific to current project
  • user_context: Notes about collaborating with humans
  • technical_insights: General software engineering learnings
  • world_knowledge: Domain knowledge and interesting discoveries

search_journal

Semantic search across all journal entries:

  • query (required): Natural language search query
  • limit: Maximum results (default: 10)
  • type: Search scope - 'project', 'user', or 'both' (default: 'both')
  • sections: Filter by specific categories

read_journal_entry

Read full content of specific entries:

  • path (required): File path from search results

list_recent_entries

Browse recent entries chronologically:

  • limit: Maximum entries (default: 10)
  • type: Entry scope - 'project', 'user', or 'both' (default: 'both')
  • days: Days back to search (default: 30)

File Structure

Project Journal (per project)

.private-journal/
├── 2025-05-31/
│   ├── 14-30-45-123456.md          # Project notes entry
│   ├── 14-30-45-123456.embedding   # Search index
│   └── ...

User Journal (global)

~/.private-journal/
├── 2025-05-31/
│   ├── 14-32-15-789012.md          # Personal thoughts entry
│   ├── 14-32-15-789012.embedding   # Search index
│   └── ...

Entry Format

Each markdown file contains YAML frontmatter and structured sections:

---
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...

Development

Building

npm run build

Testing

npm test

Development Mode

npm run dev

Improving Claude's Performance

To help Claude learn and improve over time, consider adding journal usage guidance to your ~/.claude/CLAUDE.md file:

## 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

This enables Claude to build persistent memory across conversations, leading to better engineering decisions and collaboration patterns.

Author

Jesse Vincent jesse@fsck.com

Read more about the motivation and design in the blog post.

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选