Skip to content
Agentmart
Submit a tool

hmem — Humanlike Memory for AI Agents

Persistent 5-level hierarchical memory for AI agents.

Connector by Bumblebiber · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 24
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/bumblebiber-hmem-mcp

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 5-level hierarchical memory for AI agents. SQLite-backed, lazy-loaded.

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 and install config. Checked Oct 25, 2026.

Tools
7 read · 11 write · 4 delete · 2 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 24

Read from the source code; the running server may list different tools.

Read 7 · Look things up without changing anything.

  • find_related
  • list_projects
  • memory_health
  • memory_stats
  • read_memory
  • read_project
  • search_memory

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

  • append_memory
  • create_project
  • import_memory
  • move_memory
  • move_nodes
  • rename_id
  • set_active_device
  • tag_rename
  • update_many
  • update_memory
  • write_memory

Delete 4 · Delete, drop, revoke or wipe things.

  • delete
  • flush_context
  • reset_memory_cache
  • tag_bulk

Not yet classified 2 · We could not tell from the name and description.

  • export_memory
  • load_project

Secrets and settings it asks for

Other settings (environment variables or headers).

  • HMEM_STORAGE_DIR

Files it touches

  • Any path the agent passes to its tools

Tools (24)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • append_memory

    Append new child nodes to an existing memory entry or node (your own personal memory). Existing children are preserved — new nodes are added after them. Use this to extend an existing entry with additional detail without overwriting it. Content uses tab indentation relative to the parent: 0 tabs = direct child of id 1 tab = grandchild, etc. Two modes: Simple (title+body): append_memory(id='L0003', title='New finding', body='Detailed explanation') Complex (full sub-tree): append_memory(id='L0003', content='New finding\n\tSub-detail\n\t\tDeep') Examples: append_memory(id='P0048.6',…

  • create_project

    Create a new project with the standard R0009 schema. Automatically creates: 1. P-entry with all 9 L2 sections (Overview, Codebase, Usage, Context, Deployment, Bugs, History, Roadmap, Ideas) 2. Matching O-entry for session logging (O00XX ↔ P00XX) Example: create_project({ name: 'Carlo Auftrag', tech: 'Python/SAP', description: 'SAP Freigabe-Automatisierung' })

  • delete

    Permanently delete a memory entry or sub-node by ID. For root entries: deletes the entire entry with all sub-nodes and tags. For sub-nodes: deletes only that node and its subtree. ⚠️ IRREVERSIBLE — no undo. Use with caution.

  • export_memory

    Export your memory, excluding secret entries and secret sub-nodes. Use for sharing, backup, or publishing a sanitized version of your memory.

  • find_related

    Find entries related to the given entry. Uses tag overlap first (intentional connections, marked [T]), then FTS5 keyword matching as supplement (marked [~]). Use to discover connections or spot potential duplicates.

  • flush_context

    Store a conversation chunk as linear context history (O-prefix). The AI does the summarization: chunk raw text by topic, then summarize progressively. Recommended: provide L1 (title) + L2 (paragraph summary) + L5 (raw text). L3/L4 are optional intermediate levels for extra detail. O-entries are hidden from bulk reads but discoverable via search, tags, and context_for. Use during /save to preserve raw session context alongside curated P/L/D/E entries.

  • import_memory

    Import entries from a .hmem file into your memory. Deduplicates by L1 content (merges sub-nodes), remaps IDs on conflict.

  • list_projects

    List all projects (P-entries) with their IDs and titles. Minimal output for checkpoint agents.

  • load_project

    Load a project and activate it. Returns L2 content + L3 titles — the perfect project briefing. Also marks the project as active (deactivates any previously active project in the same prefix). Use this when starting work on a project. It combines read_memory(id, depth=3) + update_memory(active=true) in one call. Example: load_project({ id: 'P0048' }) Returns: Overview, Codebase, Usage, Context, etc. with L3 subcategory titles.

  • memory_health

    Audit report for your memory: broken links (links pointing to deleted entries), orphaned entries (no sub-nodes), stale favorites/pinned (not accessed in 60 days), broken obsolete chains ([✓ID] pointing to non-existent entries), and tag orphans (tags with no matching entry). Run before/after a curation session.

  • memory_stats

    Shows budget status of your memory: total entries by prefix, nodes, favorites, pinned, most-accessed, oldest entry, stale count (not accessed in 30 days), unique hashtags, and avg nodes per entry.

  • move_memory

    Move a sub-node (and its entire subtree) to a different parent, updating all ID references. source_id must be a sub-node (e.g. 'P0029.15'), not a root entry. target_parent_id is the new parent: a root entry (e.g. 'L0074') or a sub-node (e.g. 'P0029.20'). Use during curation to reorganize entries into the correct hierarchy.

  • move_nodes

    Move session (L2), batch (L3), or exchange (L4) nodes between O-entries. Handles ID rewriting, tag migration, and cleanup of empty parents.

  • read_memory

    Read from your hierarchical long-term memory (.hmem). At startup, you received all Level 1 entries (rough summaries). Use this tool to drill deeper into specific memories. Query modes: - By ID: read_memory({ id: 'P0001' }) → L1 + direct L2 children (one level at a time) - By node ID: read_memory({ id: 'P0001.2' }) → that node's content + its direct children - By prefix: read_memory({ prefix: 'L' }) → All Lessons Learned (Level 1) - By time: read_memory({ after: '2026-02-15', before: '2026-02-17' }) - Search: read_memory({ search: 'SSE' }) → Full-text search across all levels - Time-around: re…

  • read_project

    Read a project's context without activating it — for cross-project reference. Returns a focused briefing (Overview, Codebase titles, Usage, Context, Requirements titles, Roadmap titles) without session history, rules injection, or changing the active project. Example: read_project({ id: 'P0048' }) Use this when working on Project A but needing context about Project B.

Show 9 more tools
  • rename_id

    Atomically rename a memory entry or node ID and update ALL references across the database. Works for root entries (e.g. 'P0099' → 'P0100') and sub-nodes (e.g. 'P0054.19' → 'P0054.6'). Renames: root entry, all child nodes, tags, FTS index, links in other entries, obsolete markers. Use for schema corrections (misplaced sections), ID collisions, or post-sync conflict resolution. Example: rename_id({ old_id: 'P0048', new_id: 'P0052' })

  • reset_memory_cache

    Clear the session cache of the hmem server so all entries are treated as unseen again. The next bulk read will behave like the first read of a fresh session (full Fibonacci slots, no suppressed entries). Use when you need a clean slate — e.g., after a major topic change or when you suspect important entries were suppressed.

  • search_memory

    Searches the collective memory: agent memories (lessons learned, evaluations), and optionally personalities, project documentation, and skills. Use this tool to learn from past experiences before starting a task.

  • set_active_device

    Set the active device for this machine. Call this once after identifying which machine you are on. The device ID must be an I-entry (Infrastructure entry) in hmem. Writes ~/.hmem/active-device so all future sessions on this machine know their device. Also updates the statusline display immediately. Example: set_active_device({ id: 'I0002' })

  • tag_bulk

    Apply tag changes (add and/or remove) to all entries matching a filter. Filter by prefix, full-text search, or existing tag. Returns the number of entries modified. Also use tag_rename to rename a tag across all entries.

  • tag_rename

    Rename a hashtag across all entries and nodes. Example: tag_rename(old_tag='#sqlite', new_tag='#db') renames every occurrence.

  • update_many

    Batch-update multiple memory entries at once. Applies the same flag(s) to all listed IDs. Use this instead of calling update_memory multiple times during curation. Example: update_many(ids=['T0005', 'T0012', 'L0044'], irrelevant=true)

  • update_memory

    Update the text of an existing memory entry or sub-node (your own personal memory). Only modifies the text at the specified ID — children are preserved unchanged. Use cases: - Update title only: update_memory(id='L0003', content='corrected summary') - Update body only: update_memory(id='L0003', body='New detailed body text.') ← title preserved - Update title+body: update_memory(id='L0003', content='Short title', body='Detailed body text.') - Fix a sub-node: update_memory(id='L0003.2', content='node title', body='node body') - Mark as obsolete: FIRST write the correction, THEN update with [✓I…

  • write_memory

    Description is built at runtime.

Signals

Stars
24
Forks
5
Open issues
0
Last commit
Jul 21, 2026 (3 months ago)
Last release
May 24, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.Bumblebiber/hmem-mcp
Version
1.6.7
Auth
No auth
Packages
npm hmem-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026
Cite this page

hmem — Humanlike Memory for AI Agents MCP server. Agent Mart. https://agentmart.dev/connectors/bumblebiber-hmem-mcp (last updated 2026-10-25)