memcal-install
Install MemCal for a personal-assistant agent without a product tour. Prefer
copy-paste blocks below. Ground truth: repo AGENTS.md (Install section) and
https://cuuush.github.io/memcal/integrations/ · https://cuuush.github.io/memcal/clients/mcp/.
Counts: MCP 22 tools (+ memcal://brief); Hermes 21 tools. Host agents
required for Hermes/OpenClaw — do not claim memcal installs them. Stdio MCP only
(no hosted HTTP / Smithery URL).
Decide the path (ask once if unclear)
| User intent | Path |
|---|---|
| Cursor / Claude Desktop / generic MCP | § MCP first |
| Hermes | § Hermes (Hermes already installed) |
| OpenClaw | § OpenClaw (openclaw ≥ 2026.7.1) |
| Linux machine | § Linux (email + MCP); never promise iMessage/EventKit |
Default product path is macOS. Linux is email + MCP.
Shared install
git clone https://github.com/cuuush/memcal.git
cd memcal
./install.sh # PATH launcher; --nightly = 3am launchd dream pass (macOS only — never on Linux)
export PATH="$HOME/.local/bin:$PATH"
memcal doctor
memcal setup
memcal brief
Alternate: pip install memcal then the same sequence.
Env: MEMCAL_HOME (default ~/.memcal), MEMCAL_SRC / checkout cwd for -m memcal.mcp_server.
Before connecting real accounts, show https://cuuush.github.io/memcal/privacy/.
MCP first (any harness)
python3 -m memcal.mcp_server
Cursor (~/.cursor/mcp.json or project .cursor/mcp.json):
{
"mcpServers": {
"memcal": {
"command": "python3",
"args": ["-m", "memcal.mcp_server"],
"env": { "MEMCAL_HOME": "${HOME}/.memcal" }
}
}
}
From a git checkout, add "cwd": "/path/to/memcal" if the module does not resolve.
Claude Desktop uses the same JSON (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json;
Linux: ~/.config/Claude/claude_desktop_config.json). Restart client; smoke memcal_brief.
Hermes
Requires Hermes already installed.
mkdir -p ~/.hermes/plugins
ln -sfn "$(pwd)/integrations/hermes/memcal" ~/.hermes/plugins/memcal
hermes memory setup
Symlink the package directory integrations/hermes/memcal, not the parent.
Set MEMCAL_SRC to this checkout if import fails (Hermes may default to
~/code/memcal). 21 not 22 because prefetch replaces memcal_brief.
Done when: MEMCAL SNAPSHOT / MEMCAL CURRENT inject and 21 tools list.
OpenClaw
Requires openclaw ≥ 2026.7.1 on PATH.
memcal openclaw setup --yes # --yes skips the confirm prompt
openclaw gateway restart
memcal openclaw status
Done when: status reports plugin + MCP OK. Writes go through MCP; injection is the plugin.
Linux sources
# Proton Bridge / IMAP in ~/.memcal/.env
memcal ingest email --limit 50
memcal brief
python3 -m memcal.mcp_server
Optional Slack/GroupMe/Telegram. memcal schedule install is launchd-only: on Linux
it writes nothing and prints cron lines (nightly memcal schedule run, optional
memcal ingest --due). Use those lines verbatim; never invent launchd paths on Linux.
Verification checklist
-
memcal doctor/memcal briefrun - Harness shows injection and/or tools (MCP 22 or Hermes 21)
- No secrets committed; store under
MEMCAL_HOME
Out of scope
- memcal core / dream / field_sources / freshness
- Hygiene version bumps or Linux schedule cron copy (see
memcal schedule installoutput on Linux) - Fake directory submissions; hosted HTTP MCP
- Replacing an existing memory system silently
Handoff
Point at Quickstart / Sources: https://cuuush.github.io/memcal/quickstart/