Skip to main content

A Model Context Protocol server for personal journaling with context awareness, relationships, and visualization

Project description

๐Ÿ› ๏ธ Memory Journal MCP Server

Last Updated October 8, 2025 3:50 PM EST

GitHub License Version Status Docker Pulls PyPI

A production-ready developer journal with knowledge graphs, visual relationship mapping, and intelligent search

๐ŸŽ‰ Now Production/Stable! Memory Journal has graduated from beta with powerful relationship mapping, 10x faster startup, and comprehensive documentation.

๐Ÿš€ Quick Deploy:

๐Ÿ“š Full Documentation: GitHub Wiki


โœจ What's New in v1.1.3

๐ŸŽ‰ Production/Stable Release

Memory Journal has officially graduated from beta! This release includes:

  • 15 MCP tools (up from 13)
  • 8 workflow prompts (up from 6)
  • 3 MCP resources (up from 2)
  • 17 comprehensive wiki pages
  • Automatic schema migrations
  • Production-grade stability

๐Ÿ”— Entry Relationships & Knowledge Graphs

Build connections between your entries with typed relationships:

  • references - General connections between work
  • implements - Link implementations to specs/designs
  • clarifies - Add explanations and elaborations
  • evolves_from - Track how ideas develop over time
  • response_to - Thread conversations and replies

๐Ÿ“Š Visual Relationship Mapping

Generate beautiful Mermaid diagrams showing how your work connects:

graph TD
    E55["#55: Implementing visualization feature<br/>development_note"]
    E56["#56: Testing the new tool<br/>technical_note"]
    E57["#57: Documentation improvements<br/>enhancement"]
    
    E56 ==>|implements| E55
    E57 -.->|clarifies| E55
    
    style E55 fill:#FFF3E0
    style E56 fill:#FFF3E0
    style E57 fill:#FFF3E0

โšก Performance Revolution

  • 10x faster startup - Lazy loading reduces init time from 14s โ†’ 2-3s
  • Thread-safe operations - Zero race conditions in concurrent tag creation
  • Database lock prevention - Single-connection transactions eliminate conflicts
  • Optimized queries - Strategic indexes for relationship traversal

๐Ÿ› ๏ธ New Tools (15 Total, +2 from v1.0)

  • visualize_relationships - Generate Mermaid diagrams with depth control
  • link_entries - Create typed relationships between entries
  • Plus comprehensive CRUD, triple search, analytics, and export

๐ŸŽฏ Enhanced Workflow Prompts (8 Total, +2 from v1.0)

  • find-related - Discover connected entries via semantic similarity
  • prepare-standup - Daily standup summaries
  • prepare-retro - Sprint retrospectives
  • weekly-digest - Day-by-day weekly summaries
  • analyze-period - Deep period analysis with insights
  • goal-tracker - Milestone and achievement tracking
  • get-context-bundle - Project context with Git/GitHub
  • get-recent-entries - Formatted recent entries

๐Ÿ“ก New Resources (3 Total, +1 from v1.0)

  • memory://graph/recent - NEW Live Mermaid diagram of recent relationships
  • memory://recent - 10 most recent entries
  • memory://significant - Significant milestones and breakthroughs

๐Ÿ—„๏ธ Database Improvements

  • Automatic schema migrations (seamless v1.0 โ†’ v1.1 upgrades)
  • Soft delete support with deleted_at column
  • New relationships table with cascading deletes
  • Enhanced indexes for optimal query performance

๐Ÿš€ Quick Start

Option 1: PyPI (Fastest - 30 seconds)

# Install
pip install memory-journal-mcp

# Add to ~/.cursor/mcp.json
{
  "mcpServers": {
    "memory-journal": {
      "command": "memory-journal-mcp"
    }
  }
}

# Restart Cursor โ†’ Start journaling!

Option 2: Docker (Full Features - 2 minutes)

# Pull image
docker pull writenotenow/memory-journal-mcp:latest

# Create data directory
mkdir data

# Add to ~/.cursor/mcp.json
{
  "mcpServers": {
    "memory-journal": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", 
        "-v", "./data:/app/data",
        "writenotenow/memory-journal-mcp:latest",
        "python", "src/server.py"
      ]
    }
  }
}

# Restart Cursor โ†’ Start journaling!

๐Ÿ“‹ Core Capabilities

๐Ÿ› ๏ธ 15 MCP Tools - Complete Development Workflow

Entry Management:

  • create_entry / create_entry_minimal - Create entries with auto-context
  • update_entry - Edit existing entries (thread-safe)
  • delete_entry - Soft or permanent deletion
  • get_entry_by_id - Retrieve with full relationship details

Search & Discovery:

  • search_entries - FTS5 full-text search with highlighting
  • search_by_date_range - Time-based filtering with tags
  • semantic_search - ML-powered similarity (optional)
  • get_recent_entries - Quick access to recent work

Relationships & Visualization:

  • link_entries - Create typed relationships
  • visualize_relationships - Generate Mermaid diagrams

Organization & Analytics:

  • list_tags - Tag usage statistics
  • get_statistics - Comprehensive analytics by time period
  • export_entries - JSON/Markdown export
  • test_simple - Connectivity testing

๐ŸŽฏ 8 Workflow Prompts - Automated Productivity

  • prepare-standup - Daily standup summaries from recent entries
  • prepare-retro - Sprint retrospectives with achievements and learnings
  • weekly-digest - Day-by-day weekly summaries
  • analyze-period - Deep analysis with pattern insights
  • goal-tracker - Milestone and achievement tracking
  • find-related - Discover connected entries via semantic similarity
  • get-context-bundle - Complete project context (Git + GitHub)
  • get-recent-entries - Formatted display of recent work

๐Ÿ” Triple Search System - Find Anything, Any Way

  1. Full-text search - SQLite FTS5 with result highlighting and rank ordering
  2. Date range search - Time-based filtering with tag and type filters
  3. Semantic search - FAISS vector similarity for concept-based discovery (optional)

๐Ÿ”— Entry Relationships - Build Your Knowledge Graph

  • 5 relationship types - references, implements, clarifies, evolves_from, response_to
  • Bidirectional linking - See both incoming and outgoing relationships
  • Graph visualization - Generate Mermaid diagrams with depth control
  • Smart discovery - Find related entries via semantic similarity and shared tags

๐Ÿ“Š Comprehensive Analytics - Track Your Progress

  • Entry counts by type (achievements, notes, milestones, etc.)
  • Top tags with usage statistics
  • Activity patterns by day/week/month
  • Significant milestone tracking
  • Export-ready statistics for reports

๐ŸŽจ Visual Relationship Graphs - See How Work Connects

  • 3 visualization modes - Entry-centric, tag-based, recent activity
  • Customizable depth - Control relationship traversal (1-3 hops)
  • Tag filtering - Focus on specific projects or topics
  • Color-coded nodes - Personal (blue) vs Project (orange) entries
  • Typed arrows - Different styles for different relationship types

๐Ÿ”„ Git & GitHub Integration - Automatic Context Capture

  • Repository name and path
  • Current branch
  • Latest commit (hash + message)
  • Recent GitHub issues (via gh CLI)
  • Working directory
  • Timestamp for all context

๐Ÿ“ฆ Data Export - Own Your Data

  • JSON format - Machine-readable with full metadata
  • Markdown format - Human-readable with beautiful formatting
  • Flexible filtering - By date range, tags, entry types
  • Portable - Take your journal anywhere

๐Ÿ“– Usage Examples

Create an Entry with Relationships

// Create a technical achievement
create_entry({
  content: "Implemented lazy loading for ML dependencies - 10x faster startup!",
  entry_type: "technical_achievement",
  tags: ["performance", "optimization", "ml"],
  significance_type: "technical_breakthrough"
})
// Returns: Entry #55

// Link related work
link_entries({
  from_entry_id: 56,  // Testing entry
  to_entry_id: 55,    // Implementation
  relationship_type: "implements"
})

// Visualize the connections
visualize_relationships({
  entry_id: 55,
  depth: 2
})

Search and Analyze

// Full-text search with highlighting
search_entries({ query: "performance optimization", limit: 5 })

// Semantic search for concepts
semantic_search({ query: "startup time improvements", limit: 3 })

// Date range with tags
search_by_date_range({
  start_date: "2025-10-01",
  end_date: "2025-10-31",
  tags: ["performance"]
})

// Get analytics
get_statistics({ group_by: "week" })

Generate Visual Maps

// Visualize entry relationships
visualize_relationships({
  entry_id: 55,  // Root entry
  depth: 2       // 2 hops out
})

// Filter by tags
visualize_relationships({
  tags: ["visualization", "relationships"],
  limit: 20
})

// Access live graph resource
memory://graph/recent  // Most recent 20 entries with relationships

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ MCP Server Layer (Async/Await)                              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ Entry Creation  โ”‚  โ”‚ Triple Search   โ”‚  โ”‚ Relationshipโ”‚  โ”‚
โ”‚  โ”‚ with Context    โ”‚  โ”‚ FTS5/Date/ML    โ”‚  โ”‚ Mapping     โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Thread Pool Execution Layer                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ Git Operations  โ”‚  โ”‚ Database Ops    โ”‚  โ”‚ Lazy ML     โ”‚  โ”‚
โ”‚  โ”‚ (2s timeout)    โ”‚  โ”‚ Single Conn     โ”‚  โ”‚ Loading     โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ SQLite Database with FTS5 + Relationships                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ entries + tags + relationships + embeddings + FTS       โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ”ง Technical Highlights

Performance & Security

  • 10x faster startup - Lazy loading of ML dependencies (2-3s vs 14s)
  • Thread-safe operations - Zero race conditions in tag creation
  • WAL mode - Better concurrency and crash recovery
  • Database lock prevention - Single-connection transactions
  • Aggressive timeouts - Git operations fail-fast (2s per command)
  • Input validation - Length limits, parameterized queries, SQL injection prevention

Semantic Search (Optional)

  • Model: all-MiniLM-L6-v2 (384-dimensional embeddings)
  • Storage: FAISS index for fast similarity search
  • Graceful degradation: Works perfectly without ML dependencies

Data & Privacy

  • Local-first: Single SQLite file, you own your data
  • Portable: Move your .db file anywhere
  • Secure: No external API calls, non-root Docker containers

๐Ÿ“š Documentation

Full documentation available on the GitHub Wiki:

GitHub Gists: Practical Examples & Use Cases

โ†’ View All Memory Journal Gists

Explore 5 curated gists with real-world examples and implementation patterns:

  1. Complete Feature Showcase - All 15 tools, 8 prompts, and 3 resources
  2. Relationship Mapping & Knowledge Graphs - Build knowledge graphs with typed relationships
  3. Triple Search System Guide - Master FTS5, date range, and semantic search
  4. Workflow Automation & Prompts - Standup, retrospectives, and weekly digests
  5. Git Integration & Context Capture - Automatic project context from Git and GitHub

๐Ÿ”— Resources


๐Ÿ“„ License

MIT License - See LICENSE file for details.

๐Ÿค Contributing

Built by developers, for developers. PRs welcome! See CONTRIBUTING.md for guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

memory_journal_mcp-1.1.3.tar.gz (58.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

memory_journal_mcp-1.1.3-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file memory_journal_mcp-1.1.3.tar.gz.

File metadata

  • Download URL: memory_journal_mcp-1.1.3.tar.gz
  • Upload date:
  • Size: 58.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for memory_journal_mcp-1.1.3.tar.gz
Algorithm Hash digest
SHA256 7ad10f2254d2f81855925c8a3ed7b47b3b7504ea12f57bd1c434252f528fe709
MD5 26cb22083cae2e30db67459c829a2e19
BLAKE2b-256 7797225887cab363288f4375080fd68cdcd751f121aa21cef4e041118ea9ecf6

See more details on using hashes here.

File details

Details for the file memory_journal_mcp-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for memory_journal_mcp-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 40ed1d86616421f0d6514759bfc95b6c6d315c31a2ecad95f840c581a0cc0fcb
MD5 af8bf60f2e71d9f5a777732ce2f76107
BLAKE2b-256 0187526fcd0d699a4f8a7566d38ed140718d45b81ae78380c76d191073628cc0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page