Private Journal
БесплатноНе проверенStores journal entries locally with semantic search using multilingual embeddings, and optionally syncs to a Git remote.
Описание
Stores journal entries locally with semantic search using multilingual embeddings, and optionally syncs to a Git remote.
README
An MCP server that stores journal entries in local files and searches them semantically with multilingual embeddings. Search and embedding inference run locally; the embedding model is downloaded and cached once on first use. Optionally, entries can be auto-synced to a Git remote.
Tools
write_journal- Stores an entry from
content. - Optional arg:
section(reflections,observations,project_notes,user_context,technical_insights,world_knowledge) sectiondefaults toobservations.
- Stores an entry from
search_journal- Performs semantic search over stored entries.
- Required arg:
query - Optional args:
limit,section
read_journal- Reads a full individual Markdown entry by
path.
- Reads a full individual Markdown entry by
list_journal- Lists recent entries.
- Optional args:
limit,days
Storage Locations
Journal data
Priority order:
PRIVATE_JOURNAL_PATH$XDG_DATA_HOME/private-journal~/.local/share/private-journal
Model cache
Priority order:
$XDG_CACHE_HOME/private-journal/models~/.cache/private-journal/models
The default embedding model is Xenova/multilingual-e5-small.
Install / Build
npm install
npm run build
Run locally:
node dist/index.js
The sync subcommand exits as a no-op when no Git remote is configured.
node dist/index.js sync
Install as a Plugin (recommended)
This repo is a plugin for both Claude Code (.claude-plugin/plugin.json) and Codex
(.codex-plugin/plugin.json). Installing it registers the MCP server and the
SessionStart sync hook in one step — no manual settings.json/config.toml edits.
The MCP server is declared inline in each manifest's mcpServers field (not a root
.mcp.json, which would auto-load as a project-scope server). It resolves the plugin's
own install path via ${CLAUDE_PLUGIN_ROOT} (Claude Code) / a ./bin relative path
with cwd (Codex). The bundled hooks/hooks.json resolves paths the same way.
Build first so dist/ exists, then install:
npm install && npm run build
Claude Code:
/plugin install /absolute/path/to/private-journal-mcp
Codex:
codex plugin install /absolute/path/to/private-journal-mcp
Manual MCP registration (without the plugin)
claude mcp add private-journal -- node /absolute/path/to/private-journal-mcp/dist/index.js
Git Sync (optional)
Git sync is enabled only when PRIVATE_JOURNAL_GIT_REMOTE is set.
export PRIVATE_JOURNAL_GIT_REMOTE="[email protected]:youruser/my-journal.git"
Recommended prerequisites:
- You must already be authenticated for that remote via
gh auth loginor equivalent Git credentials.
Behavior:
- Right after a
write_journalsave, it attemptscommit + pull --rebase + pushon a best-effort basis. node dist/index.js synchandlespulland pushing any pending commits before a session starts.
SessionStart sync hook
When installed as a plugin, the SessionStart sync hook is registered automatically
(see hooks/hooks.json) — nothing to configure. It exits as a no-op unless
PRIVATE_JOURNAL_GIT_REMOTE is set.
To wire it up manually instead, add to ~/.claude/settings.json:
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "node /absolute/path/to/private-journal-mcp/dist/index.js sync"
}
]
}
]
}
}
Conflict Handling
- Distinct entries mostly coexist automatically because filenames include a microsecond suffix.
- When two entries share a filename, the one with the larger frontmatter
timestampwins. - If the
timestampis identical, the local version takes precedence. - The
.embeddingfile may be regenerated based on the adopted Markdown.
Установка Private Journal
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/baleen37/private-journal-mcpFAQ
Private Journal MCP бесплатный?
Да, Private Journal MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Private Journal?
Нет, Private Journal работает без API-ключей и переменных окружения.
Private Journal — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Private Journal в Claude Desktop, Claude Code или Cursor?
Открой Private Journal на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Private Journal with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
