apple-journal-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JOURNAL_DB | No | Path to a different moments.sqlite to read, such as a sandbox copy from `journal-cli sandbox --dir DIR`. Passed through to journal-cli. | |
| JOURNAL_CLI | No | Absolute path to the journal-cli binary (e.g. /opt/homebrew/bin/journal-cli). Checked before PATH and the usual install locations (/opt/homebrew/bin, /usr/local/bin, ~/.homebrew/bin, ~/.npm-global/bin, ~/.local/bin). |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| recent_entriesA | Entries from the last N days (inclusive of today), with full text, as JSON. days=1 is today only; days=7 is today plus the six days before it. |
| list_entriesB | Entries in a date range with full text, as JSON. Dates are YYYY-MM-DD in local time, and both ends are inclusive. |
| show_entryB | One entry with its assets: photos, locations, links, audio transcripts. |
| search_entriesB | Case-insensitive substring search over entry titles and text, as JSON. |
| list_journalsC | All journals with entry counts, as JSON. |
| journal_statsC | Entry, word, attachment and per-year counts (plain text). |
| doctorA | Check that journal-cli is installed and can read the Journal store. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
recent_entries and list_entries overlap because both return full-text entries over a date window; descriptions distinguish them, but an agent may still deliberate between them. Other tools are clearly distinct: show_entry for assets, search_entries for text search, list_journals/journal_stats for metadata, and doctor for setup.
All names use snake_case, and most are verb_noun (list_entries, show_entry, search_entries, list_journals). recent_entries and journal_stats are noun phrases, and doctor is a bare noun, but the pattern remains readable.
Seven tools is well-scoped for a focused journal-reading server. Each tool targets a distinct retrieval or diagnostic task without obvious filler.
The surface covers recent/range listing, single-entry details with assets, search, journal listing, stats, and a health check. As a read-only journal access toolset it is solid, though entry listing lacks a journal filter and there is no export or write operation (likely intentional).