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 4, 2025

GitHub License Version Docker Pulls PyPI

A developer's project journal with Git integration, semantic search, and visual relationship mapping

๐Ÿš€ Quick Deploy:

๐Ÿ“š Full Documentation: GitHub Wiki


โœจ What's New in v1.1.0

๐Ÿ”— Entry Relationships

Link entries with typed relationships to build your knowledge graph:

  • evolves_from - Track how ideas develop
  • references - Connect related work
  • implements - Link implementations to specs
  • clarifies - Add explanations
  • response_to - Thread conversations

๐Ÿ“Š Visual Relationship Mapping

Generate beautiful Mermaid diagrams to visualize how your entries connect:

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

New Tools:

  • visualize_relationships - Generate graph visualizations with depth control and tag filtering
  • link_entries - Create typed relationships between entries
  • update_entry - Edit existing entries
  • delete_entry - Soft or permanent deletion
  • get_entry_by_id - Retrieve entries with full relationship details
  • search_by_date_range - Time-based filtering
  • get_statistics - Comprehensive analytics
  • export_entries - JSON/Markdown export

New Resources:

  • memory://graph/recent - Live relationship graph of recent entries

Enhanced Features:

  • โšก 10x faster startup - Lazy loading of ML dependencies (~2-3 seconds vs 14 seconds)
  • ๐Ÿ”’ Thread-safe tag creation - Zero race conditions
  • ๐Ÿ›ก๏ธ Database lock prevention - Single-connection transactions
  • ๐ŸŽจ 8 workflow prompts - Standups, retros, weekly digests, goal tracking

๐Ÿš€ 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 CRUD operations, triple search system (FTS5 + date + semantic), relationships, analytics, and data export.

๐ŸŽฏ 8 Workflow Prompts

Interactive prompts for standups, retrospectives, weekly digests, period analysis, goal tracking, and context bundles.

๐Ÿ” Triple Search System

  • Full-text search - SQLite FTS5 with highlighting
  • Date range search - Time-based filtering with tags
  • Semantic search - FAISS vector similarity (optional)

๐Ÿ”— Entry Relationships

Build a knowledge graph with typed relationships and visualize connections with Mermaid diagrams.

๐Ÿ“Š Comprehensive Analytics

Track entry counts, top tags, activity patterns by week/month, and significant milestones.

๐ŸŽจ Visual Relationship Graphs

Generate Mermaid diagrams showing how entries connect, with customizable depth and filtering.

๐Ÿ”„ Git & GitHub Integration

Auto-captures commits, branches, repo info, and recent issues for project context.

๐Ÿ“ฆ Data Export

Export to JSON or Markdown with flexible filtering by date, tags, and entry types.


๐Ÿ“– 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:


๐Ÿ”— 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.1.tar.gz (53.0 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.1-py3-none-any.whl (30.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for memory_journal_mcp-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7d908cbcc7c5f578579e83b4d826d57b7e4ef87df90649b34c8fbd2eaf309399
MD5 90f7dbe5648edafe08ce9161be6cb906
BLAKE2b-256 c613f8134b420997e046b22d9540239dd48551089ba0cd7f9e55c1e29663705a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for memory_journal_mcp-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 298f7610030625f9e82bedd615f2b65f017bc3fcf437657797d25e81c756b784
MD5 be26b0ae6e4ada2c2b3661aef9ff5c79
BLAKE2b-256 654336355f9988a4bca1d95e49e7214af59b8aef04bdcbf3b030b2356dc3f9a5

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