Gemdex
Persistent memory layer for AI coding agents: save, recall, update via Gemini plus LanceDB
Connector by nikships · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/nikships-gemdex
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 3 read · 2 write · 1 delete · 1 not yet classified
- Secrets
- 2 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 7
Read from the source code; the running server may list different tools.
Read 3 · Look things up without changing anything.
get_memoryread_attachmentrecall
Write 2 · Create, change, send or run things.
save_memoryupdate_memory
Delete 1 · Delete, drop, revoke or wipe things.
delete_memory
Not yet classified 1 · We could not tell from the name and description.
report_outcome
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
GEMDEX_REMOTE_TOKENGEMINI_API_KEY
Other settings (environment variables or headers).
EMBEDDING_MODELGEMDEX_MODEGEMDEX_REMOTE_NAMEGEMDEX_REMOTE_URLGEMDEX_TRUST_RANKINGLANCEDB_PATH
Network hosts it talks to 15
accounts.google.com· found in codeai.google.dev· found in codeaistudio.google.com· found in codeapple.com· found in codecodeload.github.com· found in codedocs.claude.com· found in codedocs.docker.com· found in codefiles.pythonhosted.org· found in codeget.docker.com· found in codegithub.com· found in codehuggingface.co· found in codelancedb.com· found in codenpm.pkg.github.com· found in codeoauth2.googleapis.com· found in coderaw.githubusercontent.com· found in code
Files it touches
~/.gemdex/.env/opt/homebrew/bin/claude- Your home directory (~)
~/.gemdex/ingest.json~/.gemdex/lance~/.gemdex/stats.json
Tools (7)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
delete_memoryPermanently delete a stored memory by id (and its attachments/blobs). 🎯 **When to use**: when a memory is obsolete, wrong beyond repair, duplicated after consolidation, or the user explicitly asks to forget something. Prefer `update_memory` when the facts can be corrected in place. Get the id from a prior save_memory, recall, or get_memory result. Behavior: removes the memory and its attachment files from the local store. Also clears this client's per-memory outcome stats for that id. Irreversible via MCP — confirm with the user when unsure.
get_memoryLoad the full content of one stored memory by id. 🎯 **When to use**: after `recall` returns a title that looks clearly relevant to the current task — or when you already have an exact id from `save_memory`. This is the only MCP path that returns the full parent body. Most recalls need no follow-up; only open memories you actually intend to use. Behavior: returns title, id, relative age, optional track-record and attachment metadata, and the full content. Use `read_attachment` afterward if you need attachment/transcript bytes. Opening a memory counts as a recall for the per-client outcome l…
read_attachmentRead an attachment on a stored memory: text files as UTF-8, images as an image you can view, other media as base64. 🎯 **When to use**: after `get_memory` shows a memory with attachments — especially chat digests that include a `file` attachment captioned "Full transcript (source file)". Prefer this over opening the transcript's original path, which may have moved or been deleted since it was ingested. Args: `memory_id` (required), optional `attachment_id` (omit when there is exactly one attachment, or a single transcript/`file` attachment), optional `max_chars` (default ~1.5M; truncates wi…
recallSearch the user's global memory layer by natural-language query and/or example media files, and return a cheap ranked title index (never full bodies). 🎯 **When to use**: proactively and by default — make checking memory a reflex, not something you wait to be told to do. Recall at the start of a task, before solving a problem, before setting up a tool or environment, before making a design/convention decision, and before asking the user for information they may have already given you. A title-index recall is cheap; prefer checking first over assuming nothing is stored. Behavior: hybrid sema…
report_outcomeReport how acting on a recalled memory went, so the memory layer learns which memories are trustworthy. 🎯 **When to use**: right after you used a recalled memory and the outcome is clear — `worked` (followed it and it was correct), `failed` (its information was wrong or broken), `stale` (clearly outdated, e.g. rotated credentials or moved paths). One call per memory actually used; do not report memories you merely saw in results. This is meta-feedback on the memory layer itself and is the one gemdex tool you should call without being asked, whenever a clear outcome exists. Recorded locally…
save_memoryPersist a new memory to the user's global, durable memory layer. 🎯 **When to use**: proactively, as you work — you do NOT need the user to ask. Save durable, reusable knowledge the moment you learn it: hard-won fixes and root causes, project conventions and architecture decisions, setup/build/deploy steps, credentials and paths the user shares, gotchas, and the rationale behind choices. If it's likely to matter in a future session or repo, store it now without waiting for permission. Explicit user requests ("remember that…", "save this") are just one trigger among many. Keep memories to dur…
update_memoryRevise an existing memory in place, identified by its id. 🎯 **When to use**: proactively whenever you discover a stored memory is outdated, wrong, or duplicated — not only when the user asks ("the notarization step changed — update that memory"). If you learn a better fact, or a `save_memory` response flags "⚠ similar existing memories already stored", prefer correcting/consolidating the existing memory in place over leaving stale or conflicting copies. Get the id from a prior save_memory, recall, or get_memory result. Two ways to change the text: - `edits`: targeted find-and-replace — pre…
Compare and alternatives
Featured in
Signals
- Stars
- 6
- Forks
- 0
- Open issues
- 5
- Last commit
- Oct 22, 2026 (7 days ago)
- Last release
- Oct 22, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.nikships/gemdex- Version
- 1.0.47
- Auth
- API key
- Packages
- npm gemdex-mcp
- License
- MIT
- Repository
- github.com/nikships/gemdex
- Website
- github.com/nikships/gemdex
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from nikships
Cite this page
Gemdex MCP server. Agent Mart. https://agentmart.dev/connectors/nikships-gemdex (last updated 2026-10-24)