Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 6
Write a review

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.

We use your email only for this newsletter. Privacy

About

Persistent memory layer for AI coding agents: save, recall, update via Gemini plus LanceDB

No 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_memory
  • read_attachment
  • recall

Write 2 · Create, change, send or run things.

  • save_memory
  • update_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_TOKEN
  • GEMINI_API_KEY

Other settings (environment variables or headers).

  • EMBEDDING_MODEL
  • GEMDEX_MODE
  • GEMDEX_REMOTE_NAME
  • GEMDEX_REMOTE_URL
  • GEMDEX_TRUST_RANKING
  • LANCEDB_PATH

Network hosts it talks to 15

  • accounts.google.com · found in code
  • ai.google.dev · found in code
  • aistudio.google.com · found in code
  • apple.com · found in code
  • codeload.github.com · found in code
  • docs.claude.com · found in code
  • docs.docker.com · found in code
  • files.pythonhosted.org · found in code
  • get.docker.com · found in code
  • github.com · found in code
  • huggingface.co · found in code
  • lancedb.com · found in code
  • npm.pkg.github.com · found in code
  • oauth2.googleapis.com · found in code
  • raw.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_memory

    Permanently 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_memory

    Load 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_attachment

    Read 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…

  • recall

    Search 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_outcome

    Report 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_memory

    Persist 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_memory

    Revise 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
    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)