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.0.tar.gz (51.6 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.0-py3-none-any.whl (30.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: memory_journal_mcp-1.1.0.tar.gz
  • Upload date:
  • Size: 51.6 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.0.tar.gz
Algorithm Hash digest
SHA256 2c77e1c07063c4aaee39344e914b337493bb3ebbcfaa7362f5fef66223e2ea0c
MD5 db60ad2dc33658488b757f715e3beef6
BLAKE2b-256 f0f0664ad43b075dcd7449ec3c5a5a65f4e109acdcf7abbacbe5224ca92cdc0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for memory_journal_mcp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fad36c4f0a033ef8b51d53244860734672244e655887acdeb1aeba82c9bb7ab
MD5 ca749eb509072bf77b67b018fb472ea2
BLAKE2b-256 e3399353304b3b9d8d48f70f54f70b7579aed40fe47bda1d523262e00acdde9f

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