ShortlistLens
Structured website and review evidence for AI-assisted local-business shortlisting.
Crawler Summary
Humanlike memory for AI agents — MCP server with 5-level lazy-loaded SQLite memory hmem — Humanlike Memory for AI Agents AI agents forget everything when a session ends. hmem changes that. **Beta:** hmem is functional and actively used in production, but APIs and file formats may still change. Feedback and bug reports welcome. Also the parameters I chose need to be tested and tweaked. **hmem** is a Model Context Protocol (MCP) server that gives AI agents persistent, humanlike memory — modeled after Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
hmem-mcp is best for mcp, model-context-protocol, ai workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
Humanlike memory for AI agents — MCP server with 5-level lazy-loaded SQLite memory hmem — Humanlike Memory for AI Agents AI agents forget everything when a session ends. hmem changes that. **Beta:** hmem is functional and actively used in production, but APIs and file formats may still change. Feedback and bug reports welcome. Also the parameters I chose need to be tested and tweaked. **hmem** is a Model Context Protocol (MCP) server that gives AI agents persistent, humanlike memory — modeled after
Public facts
5
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Bumblebiber
Artifacts
0
Benchmarks
0
Last release
2.1.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/Bumblebiber/hmem.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Bumblebiber
Protocol compatibility
MCP
Adoption signal
1 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
text
Level 1 ── Coarse summary (always loaded on spawn)
Level 2 ── More detail
Level 3 ── Deep context
Level 4 ── Fine-grained specifics
Level 5 ── Full verbatim detailtext
write_memory(prefix="L", content="Always restart MCP server after recompiling TypeScript Running process holds old dist — tool calls return stale results Fix: kill $(pgrep -f mcp-server)")
text
read_memory() # → all L1 summaries read_memory(id="L0003") # → L1 + direct L2 children for this entry read_memory(id="L0003.2") # → that L2 node + its L3 children
text
update_memory(id="L0003", content="Corrected L1 summary") update_memory(id="L0003.2", content="Fixed sub-node text") append_memory(id="L0003", content="New finding\n\tSub-detail")
text
update_memory(id="E0023", content="...", obsolete=true)
text
--- 3 obsolete entries hidden (E0023, D0007, L0012) — use read_memory(id=X) to view ---
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
Humanlike memory for AI agents — MCP server with 5-level lazy-loaded SQLite memory hmem — Humanlike Memory for AI Agents AI agents forget everything when a session ends. hmem changes that. **Beta:** hmem is functional and actively used in production, but APIs and file formats may still change. Feedback and bug reports welcome. Also the parameters I chose need to be tested and tweaked. **hmem** is a Model Context Protocol (MCP) server that gives AI agents persistent, humanlike memory — modeled after
AI agents forget everything when a session ends. hmem changes that.
Beta: hmem is functional and actively used in production, but APIs and file formats may still change. Feedback and bug reports welcome. Also the parameters I chose need to be tested and tweaked.
hmem is a Model Context Protocol (MCP) server that gives AI agents persistent, humanlike memory — modeled after how human memory actually works.
Born as a side project of a multi-agent AI system, hmem solves a real problem: when you work across multiple machines or sessions, your AI instances start from zero every time. They duplicate work, contradict previous decisions, and lose hard-won context.
hmem fixes this.
When working across multiple PCs with AI coding agents, every new session was a fresh start. Agents had no knowledge of previous decisions, duplicated work, produced inconsistencies, and wasted tokens catching up.
Existing RAG solutions are flat — every memory fragment has the same abstraction level. The agent either gets too much detail and wastes tokens, or too little and loses nuance.
hmem stores and retrieves memory in five nested levels of detail — mirroring how human memory works.
Level 1 ── Coarse summary (always loaded on spawn)
Level 2 ── More detail
Level 3 ── Deep context
Level 4 ── Fine-grained specifics
Level 5 ── Full verbatim detail
A freshly spawned agent receives only Level 1 — the broadest strokes. When it needs more detail on a specific topic, it makes a tool call to retrieve Level 2 for that entry. And so on, down to full detail.
Result: Agents load exactly as much context as they need — no more, no less.
After completing a task, an agent calls write_memory with tab-indented content. The indentation depth maps to memory levels — multiple entries at the same depth become siblings.
write_memory(prefix="L", content="Always restart MCP server after recompiling TypeScript
Running process holds old dist — tool calls return stale results
Fix: kill $(pgrep -f mcp-server)")
On spawn, the agent receives all Level 1 summaries. Deeper levels are fetched on demand — by ID, one branch at a time.
read_memory() # → all L1 summaries
read_memory(id="L0003") # → L1 + direct L2 children for this entry
read_memory(id="L0003.2") # → that L2 node + its L3 children
Each node gets a compound ID (L0003.2.1) so any branch is individually addressable.
Entries can be updated without deleting and recreating them:
update_memory(id="L0003", content="Corrected L1 summary")
update_memory(id="L0003.2", content="Fixed sub-node text")
append_memory(id="L0003", content="New finding\n\tSub-detail")
update_memory replaces the text of a single node (children preserved). append_memory adds new child nodes to an existing entry.
When an entry is outdated, mark it as obsolete — never delete it:
update_memory(id="E0023", content="...", obsolete=true)
Obsolete entries are hidden from bulk reads and replaced by a summary line at the bottom:
--- 3 obsolete entries hidden (E0023, D0007, L0012) — use read_memory(id=X) to view ---
They remain fully searchable and accessible by ID. Past errors still teach future agents what not to do — knowledge is never destroyed, only archived.
A dedicated curator agent runs periodically to maintain memory health. It detects duplicates, merges fragmented entries, marks stale pointers, and prunes low-value content — a form of the Ebbinghaus Forgetting Curve.
update_memory and append_memory modify entries in place[♥] to always see it with L2 detail, regardless of category[★]).hmem file (SQLite)npx hmem-mcp init
That's it. The interactive installer will:
~/.hmem/) or project-local (memories in current directory)hmem.config.jsonAfter the installer finishes, restart your AI tool and call read_memory() to verify.
Don't forget the skill files! The MCP server provides the tools (read_memory, write_memory, etc.), but the slash commands (
/hmem-save,/hmem-read) require skill files to be copied to your tool's skills directory. See the Skill Files section below — it's a one-time copy-paste.Coming from the MCP Registry? Run
npx hmem-mcp initfirst — it configures your tools and creates the memory directory. Then copy the skill files as described below.
git clone https://github.com/Bumblebiber/hmem.git
cd hmem
npm install && npm run build
node dist/cli.js init
If you prefer to configure everything yourself:
npm install -g hmem-mcp
Or from source: git clone https://github.com/Bumblebiber/hmem.git && cd hmem && npm install && npm run build
Claude Code — global registration:
claude mcp add hmem -s user -- npx hmem-mcp serve \
--env HMEM_PROJECT_DIR="$HOME/.hmem"
OpenCode — add to ~/.config/opencode/opencode.json (or project-level opencode.json):
{
"mcp": {
"hmem": {
"type": "local",
"command": ["npx", "hmem", "serve"],
"environment": {
"HMEM_PROJECT_DIR": "~/.hmem"
},
"enabled": true
}
}
}
Cursor / Windsurf / Cline — add to ~/.cursor/mcp.json (or equivalent):
{
"mcpServers": {
"hmem": {
"command": "npx",
"args": ["hmem", "serve"],
"env": {
"HMEM_PROJECT_DIR": "~/.hmem"
}
}
}
}
Windows note: Use forward slashes or double backslashes in JSON paths.
Fully restart your AI tool, then call read_memory(). You should see a memory listing (empty on first run is fine).
In Claude Code, run /mcp to check the server status.
Skill files teach your AI tool how to use hmem correctly. Copy them to your tool's global skills directory, then restart your AI tool.
After copying skills, fully restart your terminal and AI tool — skills are loaded at startup and won't appear in a running session.
| Slash command | What it does |
|---|---|
| /hmem-read | Load your memory at session start — call at the beginning of every session |
| /hmem-write | Protocol for writing memories correctly (prefixes, hierarchy, anti-patterns) |
| /hmem-save | Save session learnings to memory, then commit + push |
| /hmem-config | View and adjust memory settings (hmem.config.json) interactively |
| /hmem-curate | Audit and clean up memory entries (curator role required) |
Find the skills directory in the installed package:
HMEM_DIR="$(npm root -g)/hmem-mcp"
If you cloned from source, the skills are in the skills/ directory.
Claude Code:
for skill in hmem-read hmem-write hmem-save hmem-config hmem-curate; do
mkdir -p ~/.claude/skills/$skill
cp "$HMEM_DIR/skills/$skill/SKILL.md" ~/.claude/skills/$skill/SKILL.md
done
Gemini CLI:
for skill in hmem-read hmem-write hmem-save hmem-config hmem-curate; do
mkdir -p ~/.gemini/skills/$skill
cp "$HMEM_DIR/skills/$skill/SKILL.md" ~/.gemini/skills/$skill/SKILL.md
done
OpenCode:
for skill in hmem-read hmem-write hmem-save hmem-config hmem-curate; do
mkdir -p ~/.config/opencode/skills/$skill
cp "$HMEM_DIR/skills/$skill/SKILL.md" ~/.config/opencode/skills/$skill/SKILL.md
done
| Tool | Description |
|------|-------------|
| read_memory | Read hierarchical memories — L1 summaries or drill into any node by ID |
| write_memory | Save new memory entries with tab-indented hierarchy |
| update_memory | Update the text of an existing entry or sub-node (children preserved) |
| append_memory | Append new child nodes to an existing entry without overwriting it |
| search_memory | Full-text search across all agent .hmem databases |
| Tool | Description |
|------|-------------|
| get_audit_queue | List agents whose memory has changed since last audit |
| read_agent_memory | Read any agent's full memory (for curation) |
| fix_agent_memory | Correct a specific entry or sub-node in any agent's memory |
| append_agent_memory | Add content to an existing entry in any agent's memory (for merging duplicates) |
| delete_agent_memory | Delete a memory entry (prefer fix_agent_memory(obsolete=true) — deletion is permanent) |
| mark_audited | Mark an agent as audited |
hmem stores all memory files (.hmem SQLite databases) and its configuration (hmem.config.json) in a single directory. The location depends on how you install:
| Install mode | Memory directory | Example |
|---|---|---|
| System-wide | ~/.hmem/ | /home/alice/.hmem/ or C:\Users\Alice\.hmem\ |
| Project-local | Project root (cwd) | /home/alice/my-project/ |
The hmem init installer asks which mode you prefer and creates the directory automatically.
~/.hmem/ # System-wide memory directory
memory.hmem # Default agent memory (when no HMEM_AGENT_ID is set)
SIGURD.hmem # Named agent memory (HMEM_AGENT_ID=SIGURD)
hmem.config.json # Configuration file
audit_state.json # Curator state (optional)
The MCP configuration files are written to each tool's own config directory — not into ~/.hmem/:
| Tool | Global MCP config path |
|---|---|
| Claude Code | ~/.claude/.mcp.json |
| OpenCode | ~/.config/opencode/opencode.json |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Cline / Roo Code | .vscode/mcp.json (project-only) |
| Variable | Description | Default |
|----------|-------------|---------|
| HMEM_PROJECT_DIR | Root directory where .hmem files are stored | (required) |
| HMEM_AGENT_ID | Agent identifier — used as filename and directory name | "" → memory.hmem |
| HMEM_AGENT_ROLE | Permission level: worker · al · pl · ceo | worker |
Place an optional hmem.config.json in your HMEM_PROJECT_DIR to tune behavior. All keys are optional — missing keys fall back to defaults.
{
"maxL1Chars": 120,
"maxLnChars": 50000,
"maxDepth": 5,
"accessCountTopN": 5,
"recentDepthTiers": [
{ "count": 10, "depth": 2 },
{ "count": 3, "depth": 3 }
],
"prefixes": {
"R": "Research"
}
}
The default prefixes cover most use cases:
| Prefix | Category | When to use |
|--------|----------|-------------|
| P | Project | Project experiences, summaries |
| L | Lesson | Lessons learned, best practices |
| E | Error | Bugs, errors + their fix |
| D | Decision | Architecture decisions with reasoning |
| T | Task | Task notes, work progress |
| M | Milestone | Key milestones, releases |
| S | Skill | Skills, processes, how-to guides |
| N | Navigator | Code pointers — where something lives in the codebase |
To add your own, add entries to the "prefixes" key in hmem.config.json. Custom prefixes are merged with the defaults — you don't need to repeat the built-in ones.
Any entry can be marked as a favorite — regardless of its prefix category. Favorites always appear with their L2 detail in bulk reads, marked with [♥].
write_memory(prefix="D", content="...", favorite=true) # set at creation
update_memory(id="D0010", content="...", favorite=true) # set on existing entry
update_memory(id="D0010", content="...", favorite=false) # clear the flag
Use favorites for reference info you need to see every session — key decisions, API endpoints, frequently consulted patterns. Use sparingly: if everything is a favorite, nothing is.
accessCountTopN)The top-N most-accessed entries are automatically promoted to L2 depth in bulk reads, marked with [★]. This creates "organic favorites" — entries that proved important in practice rise to the surface automatically.
{ "accessCountTopN": 5 }
Set to 0 to disable. Default: 5.
| Mechanism | When useful | |---|---| | favorite flag | Entries you know are important from day 1 — even with zero access history | | accessCountTopN | Entries that proved important over time — emerges from actual usage |
In a default read_memory() call, each entry shows only its most recently added L2 child (with that child's timestamp). A +N more hint indicates when additional L2 nodes exist. This keeps the bulk output compact while remaining discoverable.
To see all children of an entry, use read_memory(id="P0005").
Entries are sorted by effective_date — the most recent timestamp across the entry and all its nodes. This means a project entry (P0005) that was first written months ago but had a new session note appended today will appear near the top of the listing, alongside truly recent entries.
Two ways to set per-level character limits:
Option A — linear interpolation (recommended): set only the endpoints; all levels in between are computed automatically.
{ "maxL1Chars": 120, "maxLnChars": 50000 }
With 5 depth levels this yields: [120, 12780, 25440, 38120, 50000]
Option B — explicit per-level array: set each level individually. If fewer entries than maxDepth, the last value is repeated.
{ "maxCharsPerLevel": [120, 2500, 10000, 25000, 50000] }
recentDepthTiers)Controls how deep children are inlined for the most recent entries in a default read_memory() call. Each tier is { count, depth }: the count most recent entries get children inlined up to depth.
Tiers are cumulative — the highest applicable depth wins for each entry position.
"recentDepthTiers": [
{ "count": 3, "depth": 3 }, // last 3 entries → L1 + L2 + L3
{ "count": 10, "depth": 2 } // last 10 entries → L1 + L2
]
Result: | Entry position | Depth inlined | |---|---| | 0–2 (most recent) | L1 + L2 + L3 | | 3–9 | L1 + L2 | | 10+ | L1 only |
This mirrors how human memory works: you remember today's events in full detail, last week's in outline, older ones only as headlines.
Set to [] to disable recency inlining (L1-only for all entries).
Backward compat: The old "recentChildrenCount": N key is still accepted and treated as [{ "count": N, "depth": 2 }].
hmem was developed out of necessity: working on a large AI project across multiple machines meant every new Claude Code session started blind. Agents redid work, lost decisions, and contradicted each other.
The solution was a memory protocol that works the way humans remember — broad strokes first, details on demand.
MIT
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/contract"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Structured website and review evidence for AI-assisted local-business shortlisting.
Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.
Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP.
63 production tools for AI agents — one API key, pay per call in USDC (x402) or Stripe credits.
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-10-09T07:14:23.981Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "memory",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "agents",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "llm",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "sqlite",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "humanlike",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "hierarchical",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "long-term-memory",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "claude",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "gemini",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "persistent-memory",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:mcp|supported|profile capability:model-context-protocol|supported|profile capability:ai|supported|profile capability:memory|supported|profile capability:agents|supported|profile capability:llm|supported|profile capability:sqlite|supported|profile capability:humanlike|supported|profile capability:hierarchical|supported|profile capability:long-term-memory|supported|profile capability:claude|supported|profile capability:gemini|supported|profile capability:persistent-memory|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Bumblebiber",
"href": "https://github.com/Bumblebiber/hmem#readme",
"sourceUrl": "https://github.com/Bumblebiber/hmem#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:58:12.133Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T02:58:12.133Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1 GitHub stars",
"href": "https://github.com/Bumblebiber/hmem",
"sourceUrl": "https://github.com/Bumblebiber/hmem",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:58:12.133Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-bumblebiber-hmem/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to hmem-mcp and adjacent AI workflows.