Files
mempalace/website/guide/gemini-cli.md
T
Igor Lins e Silva c35686c9e1 docs(install): recommend uv as the package manager
End-user installs now lead with `uv tool install mempalace`, with
`pip install mempalace` kept as a fallback. Dev/contributor docs lead
with `uv sync --extra dev` and `uv run` for tests/benchmarks/lint, with
the equivalent pip recipe kept inline. The shipped `/mempalace:init`
skill instructions (mempalace/instructions/init.md) try `uv tool install`
first when uv is on PATH, then fall back through the pip variants.

Adds a .python-version pin at 3.12 because the lockfile's
onnxruntime==1.24.3 only ships wheels for Python >=3.11; without the
pin, `uv sync` on a host where uv prefers 3.10 fails with no source
distribution available, which would make the documented command a
footgun. pyproject's `requires-python = ">=3.9"` is unchanged — pip
users on 3.9/3.10 are unaffected.

Files updated: README.md, CONTRIBUTING.md, CLAUDE.md, the gemini-cli
guide and example, the .claude-plugin / .codex-plugin READMEs, the
mempalace SKILL, the openclaw SKILL, tools/save.md, the three
benchmarks docs, and the corresponding website mirrors.
2026-05-08 01:38:00 -03:00

2.4 KiB

Gemini CLI

MemPalace works natively with Gemini CLI, which handles the MCP server and save hooks automatically.

Prerequisites

  • Python 3.9+
  • Gemini CLI installed and configured

Installation

We recommend uv — it creates and manages the virtual environment for you:

# Clone the repository
git clone https://github.com/MemPalace/mempalace.git
cd mempalace

# Create the venv and install MemPalace + dependencies
uv sync

This produces a .venv/ directory with the project installed in editable mode. If you prefer plain pip, the equivalent is:

python3 -m venv .venv
.venv/bin/pip install -e .

Initialize the Palace

uv run python -m mempalace init .

Identity and Project Configuration (Optional)

You can optionally create or edit:

  • ~/.mempalace/identity.txt — plain text describing your role and focus
  • ./mempalace.yaml — per-project MemPalace configuration created by mempalace init
  • ./entities.json — per-project entity mappings used by AAAK compression

Connect to Gemini CLI

Register MemPalace as an MCP server:

gemini mcp add --scope user mempalace \
  -- /absolute/path/to/mempalace/.venv/bin/python -m mempalace.mcp_server

::: warning Use the absolute path to the Python binary so the server starts from any working directory. The -- separator prevents Gemini from parsing -m mempalace.mcp_server as its own flags. :::

Enable Auto-Saving

Add a PreCompress hook to ~/.gemini/settings.json:

{
  "hooks": {
    "PreCompress": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "/absolute/path/to/mempalace/hooks/mempal_precompact_hook.sh"
          }
        ]
      }
    ]
  }
}

Make sure the hook scripts are executable:

chmod +x hooks/*.sh

Usage

Once connected, Gemini CLI will automatically:

  • Start the MemPalace server on launch
  • Use mempalace_search to find relevant past discussions
  • Use the PreCompress hook to save memories before context compression

Manual Mining

Mine existing code or docs:

uv run python -m mempalace mine /path/to/your/project

Verification

In a Gemini CLI session:

  • /mcp list — verify mempalace is CONNECTED
  • /hooks panel — verify the PreCompress hook is active