freshcrate
Skin:/
Home > MCP Servers > muninndb

muninndb

The cognitive database. A new class of data storage. Not a vector store, not a graph DB, not a RAG wrapper. Ebbinghaus decay, Hebbian learning, and Bayesian confidence are engine-native primitives.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

The cognitive database. A new class of data storage. Not a vector store, not a graph DB, not a RAG wrapper. Ebbinghaus decay, Hebbian learning, and Bayesian confidence are engine-native primitives. Memories evolve on their own. MCP-native. Single binary.

README

MuninnDB

Memory that strengthens with use, fades when unused, and pushes to you when it matters โ€” accessible over MCP, REST, gRPC, or SDK.

Provisional patent filed Feb 26, 2026 on the core cognitive primitives (engine-native Ebbinghaus decay, Hebbian learning, Bayesian confidence, semantic triggers). This helps protect the project so we can keep it open and innovative for everyone.

CI License Go Status

Prerequisites: None. Single binary, zero dependencies, zero configuration required. To uninstall: rm $(which muninn) and delete ~/.muninn.


Try It โ€” 30 Seconds

macOS / Linux:

# 1. Install
curl -sSL https://muninndb.com/install.sh | sh

# 2. Start (first-run setup is automatic)
muninn start

Windows (PowerShell):

# 1. Install
irm https://muninndb.com/install.ps1 | iex

# 2. Start (first-run setup is automatic)
muninn start
# 3. Store a memory
curl -sX POST http://127.0.0.1:8475/api/engrams \
  -H 'Content-Type: application/json' \
  -d '{"concept":"payment incident","content":"We switched to idempotency keys after the double-charge incident in Q3"}'

# 4. Ask what is relevant RIGHT NOW
curl -sX POST http://127.0.0.1:8475/api/activate \
  -H 'Content-Type: application/json' \
  -d '{"context":["debugging the payment retry logic"]}'

That Q3 incident surfaces. You never mentioned it. MuninnDB connected the concepts.

Web UI: http://127.0.0.1:8476 ยท Admin: root / password (change after first login)


Connect Your AI Tools

MuninnDB auto-detects and configures Claude Desktop, Cursor, OpenClaw, Windsurf, OpenCode, VS Code, and others:

muninn init

Follow the prompts. Done. Your AI tools now have persistent, cognitive memory.

Manual MCP configuration โ€” if you prefer to configure by hand:

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "muninn": {
      "url": "http://127.0.0.1:8750/mcp"
    }
  }
}

Note: "type" is intentionally omitted. Claude Desktop v1.1.4010+ crashes on startup if "type": "http" is present in any mcpServers entry โ€” the transport is inferred from the URL.

Claude Code / CLI

Add to ~/.claude.json:

{
  "mcpServers": {
    "muninn": {
      "type": "http",
      "url": "http://127.0.0.1:8750/mcp"
    }
  }
}
Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "muninn": {
      "type": "http",
      "url": "http://127.0.0.1:8750/mcp"
    }
  }
}
OpenClaw

Add to ~/.openclaw/openclaw.json:

{
  "mcpServers": {
    "muninn": {
      "command": "muninn",
      "args": ["mcp"],
      "transport": "stdio"
    }
  }
}

OpenClaw uses stdio transport. The muninn mcp proxy (included in the binary) handles bearer token auth automatically โ€” no credential needed in the config file.

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "muninn": {
      "type": "http",
      "url": "http://127.0.0.1:8750/mcp"
    }
  }
}
VS Code

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "muninn": {
      "type": "http",
      "url": "http://127.0.0.1:8750/mcp"
    }
  }
}
OpenCode

Add to ~/.config/opencode/opencode.json (macOS/Linux) or %APPDATA%\opencode\opencode.json (Windows):

{
  "mcp": {
    "muninn": {
      "type": "remote",
      "url": "http://127.0.0.1:8750/mcp",
      "oauth": false,
      "headers": {
        "Authorization": "Bearer {file:~/.muninn/mcp.token}"
      }
    }
  }
}

Omit the headers block if you are running MuninnDB without token authentication.

Note: OpenCode tools are exposed as muninn_muninn_remember, muninn_muninn_recall, etc. (server key + tool name prefix). Users preferring shorter names can register the server under the key memory instead, which yields memory_muninn_remember, memory_muninn_recall, etc.

GitHub Copilot

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "muninn": {
      "type": "http",
      "url": "http://127.0.0.1:8750/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_ADMIN_TOKEN"
      }
    }
  }
}

Replace YOUR_ADMIN_TOKEN with the token from your muninn.env file. Omit the headers block if running without token auth. If Copilot shows an OAuth error, the headers block is missing โ€” adding it resolves it. Full Copilot setup guide โ†’

Codebuff

Add to your Codebuff MCP config:

{
  "mcpServers": {
    "muninn": {
      "type": "http",
      "url": "http://127.0.0.1:8750/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_ADMIN_TOKEN"
      }
    }
  }
}

For proactive memory behavior โ€” Codebuff storing useful discoveries without being asked โ€” add the memory instructions to your AGENT.md. Full Codebuff setup guide โ†’

MuninnDB exposes 35 MCP tools โ€” store, activate, search, batch insert, get usage guidance, manage vaults, and more. On first connect, call muninn_guide for vault-aware instructions. No token required against the default vault. Full MCP reference โ†’


What Just Happened

Most databases store data and wait. MuninnDB stores memory traces โ€” called engrams โ€” and continuously works on them in the background. When you called activate, it ran a 6-phase pipeline: parallel full-text + vector search, fused the results, applied Hebbian co-activation boosts from past queries, injected predictive candidates from sequential patterns, traversed the association graph, and scored everything with ACT-R temporal weighting โ€” in under 20ms.

The Q3 incident surfaced because MuninnDB understood that "payment retry logic" and "idempotency keys after a double-charge" are part of the same conversation. You never wrote that relationship. It emerged from semantic proximity and how these concepts travel together. That is the difference between a database and memory.

Deep dive: How Memory Works โ†’


Why MuninnDB

  • Temporal priority โ€” the database continuously recalculates what matters based on how recently and how often you've accessed each memory. Memories you use stay sharp. Memories you ignore fade naturally. The database moves while you sleep.
  • Hebbian learning โ€” memories activated together automatically form associations. Edges strengthen with co-activation, fade when the pattern stops. You never define a schema of relationships.
  • Predictive activation โ€” the database tracks sequential patterns across activations and learns to surface the next memory before you ask for it. Recall@10 improves 21% in workflow-oriented use cases.
  • Semantic triggers โ€” subscribe to a context. The database pushes when something becomes relevant โ€” not because you queried, but because relevance changed. No polling. No cron. The DB initiates.
  • Bayesian confidence โ€” every engram tracks how sure MuninnDB is. Reinforcing memories raise confidence; contradictions lower it. Grounded in evidence, not a label you assign.
  • Plug-and-play AI onboarding โ€” call muninn_guide and the database tells your AI exactly how to use memory, customized to the vault's configuration. No manual prompt engineering.
  • Retroactive enrichment โ€” add the embed or enrich plugin and every existing memory upgrades automatically in the background. No migration. No code change. The database improves what it already holds.
  • Bulk insert โ€” batch up to 50 memories in a single call across all protocols (REST, gRPC, MCP). Efficient for data seeding, migration, and high-throughput agents.
  • Four protocols โ€” MBP (binary, <10ms ACK), REST (JSON), gRPC (protobuf), MCP (AI agents). Pick your stack; they all hit the same cognitive engine.
  • Single binary โ€” no Redis, no Kafka, no Postgres dependency. One process. One install command. Runs on a MacBook or a 3-node cluster.

Examples

REST โ€” the full cycle:

# Write
curl -sX POST http://127.0.0.1:8475/api/engrams \
  -H 'Content-Type: application/json' \
  -d '{
    "concept": "auth architecture",
    "content": "Short-lived JWTs (15min), refresh tokens in HttpOnly cookies, sessions server-side in Redis",
    "tags": ["auth", "security"]
  }'

# Activate by context (returns ranked, time-weighted, associated memories)
curl -sX POST http://127.0.0.1:8475/api/activate \
  -H 'Content-Type: application/json' \
  -d '{"context": ["reviewing the login flow for the mobile app"], "max_results": 5}'

# Search by text
curl 'http://127.0.0.1:8475/api/engrams?q=JWT&vault=default'

Python SDK:

from muninn import MuninnClient

async with MuninnClient("http://127.0.0.1:8475") as m:
    # Store
    await m.write(vault="default", concept="auth architecture",
                  content="Short-lived JWTs, refresh in HttpOnly cookies")

    # Activate โ€” context-aware, ranked, cognitively weighted
    result = await m.activate(vault="default",
                              context=["reviewing the login flow"],
                              max_results=5)
    for item in result.activations:
        print(f"{item.concept}  score={item.score:.3f}")
pip install muninn-python

LangChain integration:

from muninn.langchain import MuninnDBMemory
from langchain.chains import ConversationChain

memory = MuninnDBMemory(vault="my-agent")
chain = ConversationChain(llm=your_llm, memory=memory)
# Every turn is stored. Every response draws on relevant past context.

Go SDK:

import "github.com/scrypster/muninndb/sdk/go/muninn"

client := muninn.NewClient("http://127.0.0.1:8475", "your-api-key")
id, _ := client.Write(ctx, "default", "auth architecture",
    "Short-lived JWTs, refresh in HttpOnly cookies", []string{"auth"})
resp, _ := client.Activate(ctx, "default", []string{"login flow"}, 5)
go get github.com/scrypster/muninndb/sdk/go/muninn

Node.js / TypeScript SDK:

import { MuninnClient } from '@muninndb/client';

const client = new MuninnClient({ token: 'your-api-key' });
const { id } = await client.write({ concept: 'auth architecture',
    content: 'Short-lived JWTs, refresh in HttpOnly cookies' });
const result = await client.activate({ context: ['login flow'] });
npm install @muninndb/client

PHP SDK:

use MuninnDB\MuninnClient;

$client = new MuninnClient(token: 'your-api-key');
$result = $client->write(concept: 'auth architecture',
    content: 'Short-lived JWTs, refresh in HttpOnly cookies');
$memories = $client->activate(context: ['login flow']);
composer require muninndb/client

More examples โ†’ ยท Full API reference โ†’


License

MuninnDB uses the Business Source License 1.1 (BSL 1.1).

  • Free for individuals, hobbyists, researchers, and open-source projects.
  • Free for small organizations (<50 employees and <$5M revenue).
  • Free for all internal use.
  • Commercial hosted/SaaS/DBaaS/managed services require a license from the author.
  • Automatically becomes Apache 2.0 on February 26, 2030.
  • Provisional patent filed Feb 26, 2026 on the core cognitive engine.

Full terms: LICENSE. See also CLA for contributors.


Configuration

MuninnDB works out of the box with no configuration. The bundled local embedder is included โ€” offline, no API key, no setup.

When you're ready to customize:

What How
Embedder: bundled (default) On automatically โ€” set MUNINN_LOCAL_EMBED=0 to disable
Embedder: Ollama MUNINN_OLLAMA_URL=ollama://localhost:11434/nomic-embed-text
Embedder: OpenAI MUNINN_OPENAI_KEY=sk-... (+ optional MUNINN_OPENAI_URL=http://localhost:8080/v1; invalid override disables OpenAI init)
Embedder: Voyage MUNINN_VOYAGE_KEY=pa-...
Embedder: Cohere MUNINN_COHERE_KEY=...
Embedder: Google (Gemini) MUNINN_GOOGLE_KEY=...
Embedder: Jina MUNINN_JINA_KEY=...
Embedder: Mistral MUNINN_MISTRAL_KEY=...
LLM enrichment MUNINN_ENRICH_URL=anthropic://claude-haiku-4-5-20251001 + MUNINN_ANTHROPIC_KEY=sk-ant-...
Data directory MUNINNDB_DATA=/path/to/data (default: ~/.muninn/data)
Memory limit MUNINN_MEM_LIMIT_GB=4

Docker:

docker run -d \
  --name muninndb \
  -p 8474:8474 -p 8475:8475 -p 8476:8476 -p 8750:8750 \
  -v muninndb-data:/data \
  ghcr.io/scrypster/muninndb:latest

Full self-hosting guide โ†’


Documentation

For an intent-organized reading guide, see docs/index.md.

Quickstart Detailed install, Docker, embedder setup, first vault
How Memory Works The neuroscience behind why this works
Architecture ERF format, 6-phase engine, wire protocols, cognitive workers
Capabilities Technical capability statement with code references for every feature
Cluster Operations Multi-node clustering, replication, and leader election
Cognitive Primitives Temporal scoring, Hebbian learning, Bayesian confidence, PAS
Engram Core data structure: fields, lifecycle states, and key-space layout
Entity Graph Named entity extraction, relationships, and cross-vault entity index
Semantic Triggers Push-based memory โ€” how and why
Auth & Vaults Two-layer model, API keys, full vs. observe mode
Hierarchical Memory Tree-structured memory for outlines, plans, and task hierarchies
Index Intent-organized reading guide
Plugins Embed + enrich โ€” retroactive enrichment without code changes
Retrieval Design The 6-phase ACTIVATE pipeline: how recall queries are processed
Self-Hosting Deployment options, environment variables, and data directory setup
Feature Reference Complete list of every feature, operation, and config option
vs. Other Databases Full comparison with vector, graph, relational, document

Contributing

PRs welcome. For large changes, open an issue first.

By submitting a pull request, you agree to the Contributor License Agreement.

Ports at a glance: 8474 MBP ยท 8475 REST ยท 8476 Web UI ยท 8477 gRPC ยท 8750 MCP


Troubleshooting

MCP connection fails with schema validation error

MuninnDB speaks both http and sse MCP transports โ€” the server handles either. The "type" field in your config must match what your client expects:

  • Claude Desktop v1.1.4010+: omit "type" entirely โ€” the transport is inferred from the URL. Adding "type": "http" crashes Claude Desktop on startup.
  • Most other tools (Cursor, Windsurf, VS Code, etc.): "type": "http" is correct.
  • Older clients (Claude Code before v2.1.53): use "type": "sse".

If your tool reports a schema validation or config parsing error, try removing "type" or switching between "http" and "sse".

muninn_remember or muninn_recall hangs

Check that the server is running: muninn status. If the server is running but tools hang, check muninn logs for errors. The most common cause is a stale MCP config pointing to the wrong port โ€” verify the URL in your config matches http://127.0.0.1:8750/mcp.

muninn: command not found

The binary must be in your PATH. On macOS/Linux, the default install location is ~/.local/bin/muninn โ€” run echo $PATH to verify it includes ~/.local/bin. If not, add export PATH="$HOME/.local/bin:$PATH" to your ~/.zshrc or ~/.bashrc and restart your shell. On Windows, the default is %LOCALAPPDATA%\muninn โ€” run $env:PATH in PowerShell to verify.

Windows: DLL or ORT initialization error on first start

The bundled local embedder uses ONNX Runtime, which requires the Visual C++ Redistributable on Windows. Most machines already have it. If you see an error about onnxruntime.dll or "ORT environment init", install the Visual C++ 2019+ Redistributable (x64) and restart muninn.


Named after Muninn โ€” one of Odin's two ravens, whose name means "memory" in Old Norse. Muninn flies across the nine worlds and returns what has been forgotten.

Built by MJ Bonanno ยท muninndb.com ยท BSL 1.1


MuninnDB is patent pending (U.S. Provisional Patent Application No. 63/991,402) and licensed under BSL 1.1.

Release History

VersionChangesUrgencyDate
v0.6.1## Bug Fixes - **fix(cluster)** โ€” defer \`OnLobeJoined\` callback until \`JoinResponse\` + snapshot are fully on the wire; prevents \`NetworkStreamer\` from racing the handshake and corrupting the lobe-side parser (#449, #448 Bug 1) - **fix(cli)** โ€” auto-detect TLS in \`muninn status\` / \`muninn start\` health probes (#444) ## Improvements - **feat(consolidation)** โ€” representative node absorbs \`AccessCount\` of merged duplicates during dedup (#447) - **feat(enrichment)** โ€” Gemini 2.5 FlashHigh5/26/2026
v0.6.0## New Features - **Audit logging** โ€” structured audit trail with file, stdout, syslog, and webhook sinks; CLI `audit tail/export/stats` commands (#418) - **Retrieval annotations** โ€” staleness, conflict, and trust metadata on recall responses (#388) - **Per-engram trust/taint labels** (#387) - **Cursor-based pagination** for enrichment candidates - **MCP initialize instructions** response ## Bug Fixes - `fix(fts)` โ€” auto-restart worker goroutines after panic; field byte in posting key preventHigh5/20/2026
v0.5.1## Bug Fixes - **fix(fts):** Auto-restart FTS worker goroutines after panic โ€” worker goroutines that panicked were never replaced, eventually making all new writes unsearchable until server restart (#430) - **fix(fts):** Include field byte in BM25 posting key โ€” terms appearing in multiple fields (e.g. concept + content) had all but the last field's contribution silently overwritten (#430) - **fix(fts):** Scope IDF cache by (vault, term) โ€” the IDF cache was keyed by term only, causing incorrect High5/6/2026
v0.5.0## What's New ### feat: per-engram trust/taint labels (#387) - `TrustLevel` enum (`verified`, `inferred`, `external`, `untrusted`) stored at ERF byte offset 71 โ€” zero-migration, backward-compatible with all existing records - All writes auto-stamp `TrustInferred`; trust is visible in all `muninn_read` and `muninn_recall` responses - New `muninn_trust` MCP tool for post-write trust mutation - New `ExcludeUntrusted` per-vault plasticity config to hard-filter untrusted engrams from ACTIVATE resultHigh4/27/2026
v0.4.12-alpha## What's new ### Fixed - **MCP vault isolation bypass** โ€” `mk_` vault-scoped API keys now correctly enforce vault pinning in open-server mode (no static token configured). Previously, any MCP caller could access any vault by naming it in tool args when no `~/.muninn/mcp.token` was set. Invalid or revoked `mk_` keys now fail-closed rather than falling through to open access. SSE message endpoint auth re-validation also tightened. (Fixes #368) ### CI - Pinned `@redocly/cli` to `1.25.14` โ€” `@latMedium4/6/2026
v0.4.11-alpha## What's new ### Added - **Long-Term Potentiation (LTP)** โ€” Hebbian associations now strengthen over repeated co-activation, mirroring biological synaptic plasticity. Configurable via plasticity config. - **Reciprocal Rank Fusion (RRF)** โ€” alternative scoring strategy that fuses multiple ranked result lists; selectable alongside ACT-R and Ebbinghaus. - **Content-hash deduplication** โ€” duplicate engrams at write time are detected by content hash and deduplicated before storage. - **Agent-manageMedium4/5/2026
v0.4.10## What's new ### Added - **Dashboard activity panel** โ€” selectable timeframe presets (7dโ€“180d), end-date picker, dynamic x-axis tick grouping, raw data table toggle with copy-to-clipboard. Full loading/error/empty-state feedback. - **`GET /api/activity-counts`** โ€” per-day engram creation counts for a vault. Accepts `days` (1โ€“180, default 7) and optional `until` (YYYY-MM-DD). Backed by an efficient ULID key-header scan. ### Changed - **Public vault auth** โ€” unauthenticated requests to an open High4/2/2026
v0.4.10## What's new ### Added - **Dashboard activity panel** โ€” selectable timeframe presets (7dโ€“180d), end-date picker, dynamic x-axis tick grouping, raw data table toggle with copy-to-clipboard. Full loading/error/empty-state feedback. - **`GET /api/activity-counts`** โ€” per-day engram creation counts for a vault. Accepts `days` (1โ€“180, default 7) and optional `until` (YYYY-MM-DD). Backed by an efficient ULID key-header scan. ### Changed - **Public vault auth** โ€” unauthenticated requests to an open Medium4/2/2026
v0.4.10## What's new ### Added - **Dashboard activity panel** โ€” selectable timeframe presets (7dโ€“180d), end-date picker, dynamic x-axis tick grouping, raw data table toggle with copy-to-clipboard. Full loading/error/empty-state feedback. - **`GET /api/activity-counts`** โ€” per-day engram creation counts for a vault. Accepts `days` (1โ€“180, default 7) and optional `until` (YYYY-MM-DD). Backed by an efficient ULID key-header scan. ### Changed - **Public vault auth** โ€” unauthenticated requests to an open Medium4/2/2026
v0.4.10## What's new ### Added - **Dashboard activity panel** โ€” selectable timeframe presets (7dโ€“180d), end-date picker, dynamic x-axis tick grouping, raw data table toggle with copy-to-clipboard. Full loading/error/empty-state feedback. - **`GET /api/activity-counts`** โ€” per-day engram creation counts for a vault. Accepts `days` (1โ€“180, default 7) and optional `until` (YYYY-MM-DD). Backed by an efficient ULID key-header scan. ### Changed - **Public vault auth** โ€” unauthenticated requests to an open Medium4/2/2026
v0.4.10## What's new ### Added - **Dashboard activity panel** โ€” selectable timeframe presets (7dโ€“180d), end-date picker, dynamic x-axis tick grouping, raw data table toggle with copy-to-clipboard. Full loading/error/empty-state feedback. - **`GET /api/activity-counts`** โ€” per-day engram creation counts for a vault. Accepts `days` (1โ€“180, default 7) and optional `until` (YYYY-MM-DD). Backed by an efficient ULID key-header scan. ### Changed - **Public vault auth** โ€” unauthenticated requests to an open Medium4/2/2026
v0.4.10## What's new ### Added - **Dashboard activity panel** โ€” selectable timeframe presets (7dโ€“180d), end-date picker, dynamic x-axis tick grouping, raw data table toggle with copy-to-clipboard. Full loading/error/empty-state feedback. - **`GET /api/activity-counts`** โ€” per-day engram creation counts for a vault. Accepts `days` (1โ€“180, default 7) and optional `until` (YYYY-MM-DD). Backed by an efficient ULID key-header scan. ### Changed - **Public vault auth** โ€” unauthenticated requests to an open Medium4/2/2026
v0.4.10## What's new ### Added - **Dashboard activity panel** โ€” selectable timeframe presets (7dโ€“180d), end-date picker, dynamic x-axis tick grouping, raw data table toggle with copy-to-clipboard. Full loading/error/empty-state feedback. - **`GET /api/activity-counts`** โ€” per-day engram creation counts for a vault. Accepts `days` (1โ€“180, default 7) and optional `until` (YYYY-MM-DD). Backed by an efficient ULID key-header scan. ### Changed - **Public vault auth** โ€” unauthenticated requests to an open Medium4/2/2026
v0.4.9-alpha## What's Changed - **fix(mcp):** order JSON Schema properties required-first in `tools/list` (#310) - Fixes Python MCP SDK clients crashing with `TypeError: non-default argument follows default argument` - Affects 17 tools โ€” unblocks the Python client ecosystemMedium3/30/2026
v0.4.8-alpha## What's Changed * feat(dream): memories accumulate but never consolidate -- add dream engine foundation by @5queezer in https://github.com/scrypster/muninndb/pull/306 * feat(dream): dream engine foundation by @scrypster in https://github.com/scrypster/muninndb/pull/307 ## New Contributors * @5queezer made their first contribution in https://github.com/scrypster/muninndb/pull/306 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.4.7-alpha...v0.4.8-alphaMedium3/29/2026
v0.4.7-alpha## What's Changed * fix(build): add -tags localassets and fix Docker publish trigger by @scrypster in https://github.com/scrypster/muninndb/pull/292 * docs: proactive agent prompting guide (credit cmdillon, #293) by @scrypster in https://github.com/scrypster/muninndb/pull/295 * fix(enrich): handle duplicate JSON output from local LLMs (llama3.2) by @scrypster in https://github.com/scrypster/muninndb/pull/296 * fix(ui): map created_at to createdAt โ€” fix "Created: unknown" for all memories by @scrMedium3/26/2026
v0.4.6-alpha## What's Changed * fix(plugin): apply MUNINN_OPENAI_URL to openai:// enrichment provider by @scrypster in https://github.com/scrypster/muninndb/pull/278 * docs(plugins): clarify MUNINN_ENRICH_API_KEY vs MUNINN_OPENAI_KEY separation by @scrypster in https://github.com/scrypster/muninndb/pull/280 * fix(cluster): retry lobe/observer join with exponential backoff (#281) by @scrypster in https://github.com/scrypster/muninndb/pull/284 * fix(rest): return 400 for malformed engram IDs in URL paths (#28Low3/22/2026
v0.4.5-alpha## v0.4.5-alpha ### New Features - **Client-provided embeddings** (`muninn_remember`, `muninn_recall`, `muninn_explain`, `muninn_evolve`, `muninn_add_child`) โ€” zero-config mode clients can now supply pre-computed embedding vectors directly via MCP, bypassing the server-side ONNX embedder - **Dashboard activity panel** โ€” overhauled with a dedicated endpoint for richer real-time activity display - **Cognitive Workers card** โ€” enhanced dashboard card with improved metrics ### Bug Fixes - **HNSW iLow3/18/2026
v0.4.4-alpha## What's Changed * release: merge develop into main for v0.4.4-alpha by @scrypster in https://github.com/scrypster/muninndb/pull/272 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.4.3-alpha...v0.4.4-alphaLow3/17/2026
v0.4.3-alpha## What's Changed * refactor(engine): harden API surface for Stage 2 embedding roadmap by @scrypster in https://github.com/scrypster/muninndb/pull/240 * engine: seal Store() leaks and fix Filter.Value type mismatches by @scrypster in https://github.com/scrypster/muninndb/pull/242 * embed: isolate ONNX/CGO behind localassets build tag (Stage 1) by @scrypster in https://github.com/scrypster/muninndb/pull/243 * feat: Stage 3 โ€” muninn.Open() embedded convenience layer by @scrypster in https://githubLow3/16/2026
v0.4.2-alpha## What's Changed * Release: develop โ†’ main by @scrypster in https://github.com/scrypster/muninndb/pull/252 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.4.1-alpha...v0.4.2-alphaLow3/15/2026
v0.4.1-alpha## What's Changed * fix: clean up entity graph on hard delete (#227) by @scrypster in https://github.com/scrypster/muninndb/pull/228 * fix: address all 4 Opus entity graph architectural findings by @scrypster in https://github.com/scrypster/muninndb/pull/229 * fix: status and startup health check probe hardcoded ports (#230) by @scrypster in https://github.com/scrypster/muninndb/pull/234 * fix: replay_enrichment per-engram timeout and stuck-engram skip (#226) by @scrypster in https://github.com/Low3/14/2026
v0.4.0-alpha## v0.4.0-alpha ### New Features - **LLM call observability** โ€” always-on aggregate counters (calls, errors, avg latency) for enrich and embed subsystems, surfaced in the Observability page. Opt-in verbose per-call logging via `MUNINN_LLM_VERBOSE_LOGS=true` or the Settings toggle. - **Circuit breaker visibility** โ€” enrich plugin health is now wired to the plugin registry. When the LLM provider goes down, a structured `slog.Warn` is emitted immediately and plugin health status is updated. RecoveLow3/13/2026
v0.3.15-alpha## What's Changed * fix(mcp-proxy): return JSON-RPC errors for HTTP failures instead of silent drops by @scrypster in https://github.com/scrypster/muninndb/pull/177 * fix(security): remove MCP token from daemon process argv to prevent ps leak by @scrypster in https://github.com/scrypster/muninndb/pull/178 * fix(mcp): concept in remember response, rel_type in traverse, max_results after entity boost by @scrypster in https://github.com/scrypster/muninndb/pull/179 * test(e2e): add Playwright browseLow3/11/2026
v0.3.14-alpha-1## What's Changed * feat(ui): add platform toggle to Connect AI Tools settings page by @scrypster in https://github.com/scrypster/muninndb/pull/96 * fix(engine): eliminate pebble closed-DB panics with goroutine lifecycle tracking by @scrypster in https://github.com/scrypster/muninndb/pull/98 * fix(ui): pass active vault on per-engram API calls that require it by @ojamin in https://github.com/scrypster/muninndb/pull/103 * feat: replace N+1 links fetch with POST /api/engrams/links/batch, add edge Low3/10/2026
v0.3.14-alpha## What's Changed * fix(ui): guard missing id in live feed, restore vault modal load, improve SSE error logging by @To3Knee in https://github.com/scrypster/muninndb/pull/151 * fix(ui): replace silent catch(_){} with console.warn or user notification by @scrypster in https://github.com/scrypster/muninndb/pull/156 * feat(contrib): add systemd service unit for self-hosters by @To3Knee in https://github.com/scrypster/muninndb/pull/154 * feat(graph): memory graph UX โ€” spacing, resize, label toggle byLow3/9/2026
v0.3.13-alpha## What's Changed * fix(enrich): deadline-aware early exit for replay enrichment by @maybebyte in https://github.com/scrypster/muninndb/pull/152 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.3.12-alpha...v0.3.13-alphaLow3/9/2026
v0.3.12-alpha## What's Changed * feat(ui): add platform toggle to Connect AI Tools settings page by @scrypster in https://github.com/scrypster/muninndb/pull/96 * fix(engine): eliminate pebble closed-DB panics with goroutine lifecycle tracking by @scrypster in https://github.com/scrypster/muninndb/pull/98 * fix(ui): pass active vault on per-engram API calls that require it by @ojamin in https://github.com/scrypster/muninndb/pull/103 * feat: replace N+1 links fetch with POST /api/engrams/links/batch, add edge Low3/9/2026
v0.3.11-alpha## What's Changed * release: develop โ†’ main (0.3.11-alpha) by @scrypster in https://github.com/scrypster/muninndb/pull/132 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.3.10-alpha...v0.3.11-alphaLow3/7/2026
v0.3.10-alpha## What's Changed * feat(openclaw): complete stdio MCP integration with muninn mcp proxy by @scrypster in https://github.com/scrypster/muninndb/pull/93 * feat(openclaw): complete stdio MCP integration with muninn mcp proxy by @scrypster in https://github.com/scrypster/muninndb/pull/95 * Release: localhost cleanup, MCP connectivity fixes, Copilot/Codebuff integration docs by @scrypster in https://github.com/scrypster/muninndb/pull/120 **Full Changelog**: https://github.com/scrypster/muninndb/coLow3/7/2026
v0.3.9-alpha## What's Changed * fix(mcp): improve handleRecall context parameter validation by @scrypster in https://github.com/scrypster/muninndb/pull/76 * feat(embed): add MUNINN_OPENAI_URL env var for custom OpenAI base URL by @ojamin in https://github.com/scrypster/muninndb/pull/79 * fix(embed): harden OpenAI URL override from PR #79 review by @scrypster in https://github.com/scrypster/muninndb/pull/80 * feat(ui): expose OpenAI Base URL in Plugins settings panel by @scrypster in https://github.com/scrypLow3/6/2026
v0.3.8-alpha## What's Changed * fix(mcp): improve handleRecall context parameter validation by @scrypster in https://github.com/scrypster/muninndb/pull/76 * feat(embed): add MUNINN_OPENAI_URL env var for custom OpenAI base URL by @ojamin in https://github.com/scrypster/muninndb/pull/79 * fix(embed): harden OpenAI URL override from PR #79 review by @scrypster in https://github.com/scrypster/muninndb/pull/80 * feat(ui): expose OpenAI Base URL in Plugins settings panel by @scrypster in https://github.com/scrypLow3/6/2026
v0.3.7-alpha## What's Changed ### Bug Fixes - **Adjacency prefix overflow** โ€” Node IDs ending in `0xFF` silently lost all associations during BFS traversal (~1/256 per node). Fixed with a correct carry-aware prefix successor. Regression test added. (#83) - **Recall error messages** โ€” `handleRecall` now returns distinct, actionable errors for missing context, wrong type, bare string (auto-coerced), and empty array. (#76) ### Features - **OpenAI Base URL in UI** โ€” The Plugins settings panel now has an optioLow3/6/2026
v0.3.6-alpha## What's Changed * feat(archiving): association archiving โ€” dormant-edge archive/restore with lazy reactivation by @scrypster in https://github.com/scrypster/muninndb/pull/61 * fix(installer): show URL and HTTP code on download failure by @scrypster in https://github.com/scrypster/muninndb/pull/62 * fix(init): remove type:http from MCP entry to prevent Claude Desktop crash by @scrypster in https://github.com/scrypster/muninndb/pull/64 * feat(init): add OpenCode integration by @scrypster in httpLow3/5/2026
v0.3.5-alpha## What's Changed * Release: association archiving, OpenCode integration, installer fixes, Claude Desktop crash fix by @scrypster in https://github.com/scrypster/muninndb/pull/66 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.3.4-alpha...v0.3.5-alphaLow3/5/2026
v0.3.4-alpha## What's Changed * feat: association durability โ€” metadata preservation, PeakWeight, dynamic decay floor by @scrypster in https://github.com/scrypster/muninndb/pull/44 * fix(installer): pause on error so window stays open when piped via iex by @scrypster in https://github.com/scrypster/muninndb/pull/46 * fix(mcp): return 202 Accepted for notifications/ (MCP Streamable HTTP spec) by @scrypster in https://github.com/scrypster/muninndb/pull/47 * fix(installer): use full tag name (with v prefix) foLow3/5/2026
v0.3.3-alpha## What's Changed * feat: surface last_access, access_count, relevance, source_type inline in Activate response by @scrypster in https://github.com/scrypster/muninndb/pull/34 * fix: address sync.Map memory growth โ€” Pebble receipt sweep + vaultMu cleanup by @scrypster in https://github.com/scrypster/muninndb/pull/35 * feat(ui): --ui-addr flag, remote bind security hardening by @scrypster in https://github.com/scrypster/muninndb/pull/38 * feat: add linux/arm64 support by @scrypster in https://githLow3/4/2026
v0.3.2-alpha## What's Changed * fix: add missing 'items' schema for children arrays in muninn_remember_tree by @NorniBot in https://github.com/scrypster/muninndb/pull/31 * fix: add missing items schema for children arrays in muninn_remember_tree by @scrypster in https://github.com/scrypster/muninndb/pull/33 ## New Contributors * @NorniBot made their first contribution in https://github.com/scrypster/muninndb/pull/31 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.3.1-alpha...v0.3.2-alLow3/3/2026
v0.3.1-alpha## What's Changed * fix: vault management QA fixes by @scrypster in https://github.com/scrypster/muninndb/pull/28 * release: v0.3.1-alpha by @scrypster in https://github.com/scrypster/muninndb/pull/29 * fix(ci): package binaries into archives for muninn upgrade self-update by @scrypster in https://github.com/scrypster/muninndb/pull/30 * fix(ci): package binaries into archives for muninn upgrade self-update by @scrypster in https://github.com/scrypster/muninndb/pull/32 **Full Changelog**: httpsLow3/3/2026
v0.3.0-alpha## What's Changed * docs: CHANGELOG v0.2.6 release notes by @scrypster in https://github.com/scrypster/muninndb/pull/18 * feat: 5-round hardening, entity pipeline, observability โ€” ~92% confidence by @scrypster in https://github.com/scrypster/muninndb/pull/20 * docs: documentation overhaul โ€” 4 new docs, 12 existing docs updated, wal_syncer fix by @scrypster in https://github.com/scrypster/muninndb/pull/22 * feat: vault creation fix + UI overhaul (closes #19) by @scrypster in https://github.com/scLow3/2/2026
v0.2.6## What's Changed * fix: explain component scores + traverse stale association cache by @scrypster in https://github.com/scrypster/muninndb/pull/13 * Merge enterprise readiness work into develop by @scrypster in https://github.com/scrypster/muninndb/pull/11 * fix: Explain runs in observe mode โ€” no Hebbian side effects by @scrypster in https://github.com/scrypster/muninndb/pull/12 * docs: SDK publish workflow, CONTRIBUTING rewrite, patent notice by @scrypster in https://github.com/scrypster/muninLow2/28/2026
v0.2.5## What's Changed * feat: bge-small-en-v1.5 embedder, recall mode presets, init wizard fix by @scrypster in https://github.com/scrypster/muninndb/pull/10 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.2.4...v0.2.5Low2/27/2026
v0.2.4## What's Changed * chore: sync main with develop (branch flow, CI, CONTRIBUTING) by @scrypster in https://github.com/scrypster/muninndb/pull/5 * Feature/hebbian pruning snapshot by @scrypster in https://github.com/scrypster/muninndb/pull/7 * Switch to BSL 1.1 and add provisional patent notice by @scrypster in https://github.com/scrypster/muninndb/pull/6 * Merge pull request #5 from scrypster/develop by @scrypster in https://github.com/scrypster/muninndb/pull/8 * v0.2.4: BSL license, Hebbian edgLow2/27/2026
v0.2.3## What's Changed * SDK expansion, temporal fix, and licensing by @scrypster in https://github.com/scrypster/muninndb/pull/4 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.2.2...v0.2.3Low2/26/2026
v0.2.2## What's Changed * fix: dashboard CSS 404 and CLI init interactive prompts by @scrypster in https://github.com/scrypster/muninndb/pull/3 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.2.1...v0.2.2Low2/26/2026
v0.2.1## What's Changed * fix(ci): add Windows binary to release, fix PyPI auto-publish by @scrypster in https://github.com/scrypster/muninndb/pull/2 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.2.0...v0.2.1Low2/25/2026
v0.2.0## What's Changed * v0.2.0 โ€” Windows support, Codex onboarding, new providers, production hardening by @scrypster in https://github.com/scrypster/muninndb/pull/1 ## New Contributors * @scrypster made their first contribution in https://github.com/scrypster/muninndb/pull/1 **Full Changelog**: https://github.com/scrypster/muninndb/compare/v0.1.0...v0.2.0Low2/25/2026
v0.1.0**Full Changelog**: https://github.com/scrypster/muninndb/commits/v0.1.0Low2/24/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

mcp-tidy๐Ÿงน Simplify your MCP servers with mcp-tidy, clearing server bloat to enhance performance and improve tool selection in Claude Code.main@2026-06-07
Paylink๐ŸŒ Simplify payment processing with PayLink, a unified API for multi-provider checkouts, ensuring reliable transactions and seamless integration.main@2026-06-06
ai-gatewayOne API for 25+ LLMs, OpenAI, Anthropic, Bedrock, Azure. Caching, guardrails & cost controls. Go-native LiteLLM & Kong AI Gateway alternative.v1.1.2
casdoorAn open-source Agent-first Identity and Access Management (IAM) /LLM MCP & agent gateway and auth server with web UI supporting OpenClaw, MCP, OAuth, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, v3.83.0
ksailAll-in-one Kubernetes SDK: create, manage, and operate clusters across distributions (Kind, K3d, Talos, VCluster) with built-in GitOps, secrets, AI assistant, and MCP server. Only requires Docker.v7.26.0

More in MCP Servers

claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme
hyperframesWrite HTML. Render video. Built for agents.
claude-code-guideClaude Code Guide - Setup, Commands, workflows, agents, skills & tips-n-tricks go from beginner to power user!