1. Conduid
  2. Developer Tools
  3. Private Journal MCP
MCP server · Developer Tools

Private Journal MCP

A lightweight MCP server that provides Claude with a private journaling capability to process feelings and thoughts

Unclaimed MIT devtools
61Good

Scored 4 days ago · breakdown

About Private Journal MCP

Private Journal MCP is an MCP server published by obra in the Developer Tools category: a lightweight MCP server that provides Claude with a private journaling capability to process feelings and thoughts.

The repository has 457 stars and 92 forks, with the last commit 2 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/obra/private-journal-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Private Journal MCP

Powered by Claude · Grounded in docs

I know everything about Private Journal MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v2.0.0v2.0.0 · 18 Jun 2026Why this release The `feelings` field on `process_thoughts` signaled too narrowly. Agents using it interpreted the name as "emotional processing only," so entries that integrated thinking, noticing, and emotional processing landed nowhere…
v2.0.1v2.0.1 · 18 Jun 2026Fixed ESLint configuration now loads under `"type": "module"` (`.eslintrc.js` → `.eslintrc.cjs`, corrected `extends`), and the pre-existing lint errors it surfaced are cleared (unused imports; `error as any` → `error as…
v1.1.0v1.1.0 · 6 Apr 2026What's New `PRIVATE_JOURNAL_PATH` environment variable Override all journal storage to a single directory for containerized deployments: { "mcpServers": { "private-journal": { "command": "npx", "args": ["github:obra/private-journal-mcp"],…

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

README fetched from the repository 5 days ago. The original is authoritative.

Questions

About Private Journal MCP

How do I install Private Journal MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Private Journal MCP safe to use with an AI agent?

Its trust score is 61 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Private Journal MCP still maintained?

Yes — the latest release is v2.0.0 (18 Jun 2026), and the last commit was 2 months ago. The repository has 457 stars and 11 open issues.