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
A developer's project journal with Git integration, semantic search, and visual relationship mapping
๐ Quick Deploy:
- PyPI Package -
pip install memory-journal-mcp - Docker Hub - Alpine-based (225MB) with full semantic search
- MCP Registry - Discoverable by MCP clients
๐ 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 developreferences- Connect related workimplements- Link implementations to specsclarifies- Add explanationsresponse_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 filteringlink_entries- Create typed relationships between entriesupdate_entry- Edit existing entriesdelete_entry- Soft or permanent deletionget_entry_by_id- Retrieve entries with full relationship detailssearch_by_date_range- Time-based filteringget_statistics- Comprehensive analyticsexport_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
.dbfile anywhere - Secure: No external API calls, non-root Docker containers
๐ Documentation
Full documentation available on the GitHub Wiki:
- Installation Guide
- Tools Reference
- Prompts Guide
- Relationship Visualization
- Examples & Tutorials
- Architecture Deep Dive
๐ Resources
- GitHub Wiki - Complete documentation
- Docker Hub - Container images
- PyPI Package - Python package
- MCP Registry - Official MCP listing
- GitHub Issues - Bug reports & feature requests
- Adamic Support - Project announcements
๐ License
MIT License - See LICENSE file for details.
๐ค Contributing
Built by developers, for developers. PRs welcome! See CONTRIBUTING.md for guidelines.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d908cbcc7c5f578579e83b4d826d57b7e4ef87df90649b34c8fbd2eaf309399
|
|
| MD5 |
90f7dbe5648edafe08ce9161be6cb906
|
|
| BLAKE2b-256 |
c613f8134b420997e046b22d9540239dd48551089ba0cd7f9e55c1e29663705a
|
File details
Details for the file memory_journal_mcp-1.1.1-py3-none-any.whl.
File metadata
- Download URL: memory_journal_mcp-1.1.1-py3-none-any.whl
- Upload date:
- Size: 30.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
298f7610030625f9e82bedd615f2b65f017bc3fcf437657797d25e81c756b784
|
|
| MD5 |
be26b0ae6e4ada2c2b3661aef9ff5c79
|
|
| BLAKE2b-256 |
654336355f9988a4bca1d95e49e7214af59b8aef04bdcbf3b030b2356dc3f9a5
|