gemini-mem
Persistent memory extension for Gemini CLI with local SQLite storage, hook-based recall/write, and optional MCP tools
Install / Use
claude mcp add djinn-soul -- npx -y github:djinn-soul/gemini-memIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Data & AnalyticsSupported Platforms
Skill content
View source on GitHubGemini Memory Extension
Gemini CLI extension that saves and retrieves project memory from local SQLite, with MCP tools that share the same memory DB.
Official Gemini docs this README follows:
- Writing extensions: https://geminicli.com/docs/extensions/writing-extensions/
- Releasing extensions: https://geminicli.com/docs/extensions/releasing/
What You Get
- Hook-based memory capture (
AfterAgent) and retrieval (BeforeAgent,SessionStart) - Slash commands for memory inspection and cleanup
- Optional MCP server tools for external agents/clients
- Local per-project storage by default:
${HOME}/.gemini/gemini-mem/<repo-folder>/memory.db
Quick Start (Use This Extension)
npm install
npm run build
gemini extensions link .
gemini extensions list
Then restart Gemini CLI.
Daily Dev Loop
- Edit code.
- Rebuild:
npm run build - Test:
npm test - Restart Gemini CLI to pick up changes.
Project Layout
src/
hooks/ # SessionStart, BeforeAgent, AfterAgent
memory/ # sqlite store, schema, retrieval, dedupe, redaction
gemini/ # summarizer/reranker prompts + validators
commands/ # mem-status, mem-search, mem-last, mem-prune
mcp/ # stdio and HTTP MCP servers + tool handlers
runtime/ # process and Gemini CLI adapters
cli/ # db init/migration scripts
Slash Commands
/mem:status/mem:search <query>/mem:last [limit]/mem:prune [maxAgeDays] [importanceFloor]
Local equivalents:
npm run mem:status
npm run mem:status -- --json
npm run mem:search -- "query text"
npm run mem:last -- 5
npm run mem:last -- 5 --json
npm run mem:prune -- 30 2
MCP Tools
MCP is decoupled from hook runtime in this extension build. Hook execution does not require MCP server discovery.
memory_statusmemory_get_contextmemory_searchmemory_save_observationmemory_citememory_end_session
Run transports:
npm run mcp:server
npm run mcp:http
If you want Gemini CLI to auto-discover this MCP server, register it explicitly in your user/project Gemini MCP settings.
Default HTTP endpoint:
http://127.0.0.1:3303/mcp
Recommended MCP usage order:
memory_get_contextmemory_save_observationmemory_end_session
Config
Settings are defined in gemini-extension.json (DB path, model, limits, timeouts, project mode, command override).
Opt-in hook telemetry:
- Set
MEM_HOOK_TELEMETRY=true - Writes JSONL events and failures to
<project-db-folder>/hook.log(for example${HOME}/.gemini/gemini-mem/<repo>/hook.log)
Release Checklist (What To Do)
This repo already has workflows in .github/workflows/ and release notes in PUBLISHING.md.
- Update version in both files:
package.jsongemini-extension.json
- Validate locally:
npm run buildnpm test
- Commit and tag:
git tag vX.Y.Zgit push origin main --tags
- Let GitHub Actions create/publish the release artifacts.
- Install test from users' perspective:
gemini extensions install <repo-url>- or
gemini extensions install <repo-url> --ref=vX.Y.Z
For gallery discoverability (from official docs):
- Keep repository public.
- Add GitHub topic
gemini-cli-extension. - Keep
gemini-extension.jsonat repository root.
Verification Commands
npm run build
npm test
npm run test:hooks
npm run test:mcp
npm run test:mcp-http
Contributing
See CONTRIBUTING.md.
Related Skills
momen-cursurrules-prompt-file
40.6kCursor rules for building custom frontends with Momen.app as headless BaaS with GraphQL API, actionflows, AI agents, and Stripe integration.
pyspark-etl-best-practices-cursorrules-prompt-file
40.6kCursor rules for PySpark ETL development with code style, joins, window functions, map operations, and Iceberg patterns.
semiotic-react-dataviz-cursorrules-prompt-file
40.6kCursor rules for Semiotic data visualization library with 30+ chart types, MCP server, and AI-assisted chart generation.
claude-mem
90.8kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
