# Memcal Install

> Install MemCal and wire it into MCP (Cursor/Claude), Hermes (memory provider), or OpenClaw (plugin + MCP). Mac-first; on Linux use email + MCP. TRIGGER when: user says "install memcal", "set up memcal", "wire memcal into Hermes/OpenClaw", "add memcal memory", or asks how to connect MemCal to an agent. DO NOT TRIGGER when: editing memcal internals (read repo AGENTS.md), or product-only questions (point at https://cuuush.github.io/memcal/).

- Skill: `cuuush/memcal-install` (Agent Skill)
- Install (CLI): `npx skillmds@latest add cuuush/memcal-install`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cuuush/memcal-install/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: cuuush (https://skillmd.com/u/cuuush)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/cuuush/memcal-install

---


# 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

```bash
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)

```bash
python3 -m memcal.mcp_server
```

Cursor (`~/.cursor/mcp.json` or project `.cursor/mcp.json`):

```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.

```bash
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.

```bash
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

```bash
# 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 brief` run
- [ ] 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 install` output 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/

