Skip to content

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

bash
# Clone the repository
git clone https://github.com/milla-jovovich/mempalace.git
cd mempalace

# Create a virtual environment
python3 -m venv .venv

# Install dependencies
.venv/bin/pip install -e .

Initialize the Palace

bash
.venv/bin/python3 -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:

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

WARNING

Use the absolute path to the Python binary to ensure it works from any directory.

Enable Auto-Saving

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

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

Make sure the hook scripts are executable:

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

bash
.venv/bin/python3 -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

Released under the MIT License.