Skip to main content
Glama
baleen37

private-journal-mcp

by baleen37

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PRIVATE_JOURNAL_PATHNoCustom directory path for journal data. If not set, defaults to $XDG_DATA_HOME/private-journal or ~/.local/share/private-journal.
PRIVATE_JOURNAL_GIT_REMOTENoGit remote URL for auto-syncing journal entries (e.g., git@github.com:user/repo.git). If set, enables git sync on write and session start.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
write_journalA

Write a durable private journal entry with a meaningful title. section defaults to observations.

Pick the section by what the note is about:

  • project_notes: current repo/task state, decisions, and where work stands.

  • technical_insights: reusable fixes, root causes, and gotchas worth recalling later.

  • user_context: stable preferences and working style of the person you assist.

  • observations: raw findings from this session that are not yet generalized.

  • reflections: retrospectives on how the work went and what to change next time.

  • world_knowledge: durable facts about systems or the world outside this repo.

Returns a JSON object with the written file path.

search_journalA

Search private journal entries semantically and return LLM-readable markdown snippets with source paths, sections, projects, scores, and excerpts.

Use section to narrow recall when the intent is known; omit section for broad discovery.

Scores are cosine similarities from a multilingual-e5 model and cluster in a narrow band (~0.80-0.89), so a high score alone does not mean an entry is relevant. Always judge relevance from the excerpt text, and treat small score gaps as noise. Results are ordered with an automatic created_at date decay (90-day half-life, 50% floor); score and minScore remain semantic similarity values.

Omit project to search across all projects. Use project only when an explicit repository filter is needed; the current runtime project is never applied automatically.

read_journalA

Read the full content of a single journal entry by file path returned from search_journal or list_journal.

list_journalA

List recent journal entries with paths, dates, sections, and projects for chronological review before reading full entries.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct job: writing entries, listing entries chronologically, searching semantically, and reading a specific entry by path. The retrieval tools are separated by mode (recent/chronological vs. semantic), so an agent should not misselect among them.

Naming Consistency5/5

All tool names follow a consistent verb_journal pattern: read_journal, list_journal, write_journal, search_journal. Naming is uniform, predictable, and clearly conveys each action.

Tool Count5/5

Four tools is a reasonable, focused surface for a journal server. Each tool covers a distinct core operation without redundancy or feature bloat.

Completeness5/5

The toolset covers writing, browsing, searching, and reading entries, which are the core workflows for a journal system. The absence of update/delete is acceptable for a durable, append-friendly journal design.

Maintenance

ActivityMaintained
ResponsivenessNo issues