Amneshia

Amneshia

Unified, zero-external-database multi-agent long-term memory hub with SQLite FTS5 BM25 search, knowledge graph, sleep cycle consolidation, and a web dashboard.

Category
Visit Server

README

Amneshia

Release License CI Status Tests

Unified, zero-external-database, multi-agent long-term memory hub. Built on top of SQLite FTS5 + BM25 Search, incorporating a Universal MCP Bridge Manager, a local Sleep Cycle Memory Consolidation Engine, and an interactive Amneshia Web Dashboard.


Architecture Diagram

Amneshia coordinates Stdio and SSE/HTTP transports, managing underlying storage, background consolidation tasks, and MCP integrations:

flowchart TB
    %% Class Definitions for Styling
    classDef client fill:#1e1e2e,stroke:#a855f7,stroke-width:2px,color:#fff;
    classDef transport fill:#1e1e2e,stroke:#06b6d4,stroke-width:2px,color:#fff;
    classDef core fill:#181825,stroke:#3b82f6,stroke-width:2px,color:#fff;
    classDef bridge fill:#1e1e2e,stroke:#f59e0b,stroke-width:2px,color:#fff;
    classDef db fill:#11111b,stroke:#10b981,stroke-width:2px,color:#fff;

    subgraph Clients ["1. Clients & Agent IDEs"]
        Agent["🤖 AI Agents (Antigravity IDE / Cursor / Windsurf / Claude Code)"]:::client
        Browser["🌐 Amneshia Web Dashboard (React 18 + Vite)"]:::client
    end

    subgraph Transport ["2. Transport & Communication Layer"]
        Stdio["⚡ Stdio Transport (JSON-RPC 2.0)"]:::transport
        SSE["🌐 HTTP / SSE Server (Port 3457)"]:::transport
        REST["🔗 REST API Endpoints"]:::transport
    end

    subgraph Amneshia ["3. Amneshia v2 Core Knowledge Engine"]
        MCP["🛠️ 18 MCP Tools Surface"]:::core
        Graph["Knowledge Graph Engine"]:::core
        Sleep["🌙 Sleep Cycle Consolidation Engine"]:::core
        Exporter["📄 Markdown Auto-Exporter"]:::core
        DB[("💾 SQLite FTS5 Storage (~/.amneshia/memory.db)")]:::db
    end

    subgraph Bridges ["4. Universal MCP Bridge System"]
        Bridge["🔌 Bridge Client Manager"]:::bridge
        CM["💻 codebase-memory-mcp (Port 9749)"]:::bridge
        Other["🌐 External Custom MCP Servers"]:::bridge
    end

    %% Flow Connections
    Agent <-->|Stdio Stream / SSE| Transport
    Browser <-->|HTTP REST API| REST

    Stdio <-->|JSON-RPC| MCP
    SSE <-->|HTTP Events| REST
    REST <-->|API Handler| Graph

    MCP <-->|CRUD & FTS Queries| Graph
    Graph <-->|BM25 Search & SQL Triggers| DB
    Sleep <-->|Jaccard Pruning & Conflict Supersession| DB
    Graph -->|Sync Markdown Mirror| Exporter

    Graph <-->|Bridge Proxy Tools| Bridge
    Bridge <-->|Auto-Sync Projects| CM
    Bridge <-->|Proxy Tool Call| Other

Key Features

  • Semantic Knowledge Graph — Not a simple, flat key-value store. Entities are organized using structured, typed relationships and observations.
  • FTS5 BM25 Search — Integrates SQLite FTS5 extension with BM25 ranking for fast, typo-tolerant full-text query lookup.
  • Universal MCP Bridge — Interoperability with external MCP servers (such as codebase-memory-mcp) allowing synchronization of external facts and tools dynamically.
  • Sleep Cycle Memory Consolidation — Evaluates similarity metrics (Jaccard Similarity $\ge 0.8$) and LLM context analysis during sleep/idle states to deduplicate memories, resolve conflicts, track update histories, and purge expired ephemeral data.
  • Access Control Whitelisting — Visibility properties (public, restricted, private) and whitelisting arrays (allowedAgents) prevent unauthorized agent access.
  • Amneshia Web Dashboard — Rich visual interface built with TasteSkill anti-slop guidelines for exploring graphs, managing target exports, controlling bridge servers, and viewing memory statistics.

Quick Start

1. Direct Run via GitHub

You can run Amneshia instantly from GitHub without installing anything:

# Run HTTP Web Dashboard & REST API in background daemon mode
amneshia --http --port 3457 --daemon

# Or via npx directly from GitHub:
npx -y github:SabilMurti/Amneshia --http --port 3457 --daemon

Or install globally via GitHub:

npm install -g github:SabilMurti/Amneshia

# Run in background daemon mode anywhere:
amneshia --http --daemon

2. Stdio Mode (Standard IDE Integration)

To connect Amneshia to your editor/agent environment (e.g., Cursor, Antigravity IDE, Claude Code), add the server entry in your MCP config (mcp_config.json):

{
  "mcpServers": {
    "amneshia": {
      "command": "npx",
      "args": ["-y", "github:SabilMurti/Amneshia"]
    }
  }
}

Complete MCP Tools Reference (18 Tools)

Amneshia exposes 18 specialized tools to client agents for managing the memory cycle, querying data, and bridging other servers:

Category Tool Name Parameters Description
Entity create_entities entities (array of Entity Inputs) Creates new unique entities with type, domain, and access whitelists.
delete_entities names (string array of names) Removes entities and cascades deletes to their observations and relations.
Relation create_relations relations (array of Relation Inputs) Establishes typed connections (e.g., creator_of, works_on) between entities.
delete_relations ids (string array of relation IDs) Deletes specified relations by ID.
Observation add_observations observations (array of Obs Inputs) Attaches raw observations or LLM-synthesized facts to an entity.
delete_observations ids (string array of observation IDs) Deletes specified observations.
update_observation id (string), content (string), changedBy? Updates observation content while logging the change history.
Query & Graph search_memory query (string), limit? Performs FTS5 BM25 search across entity names, types, and observations.
read_graph domain?, entityType? Retreives the full or filtered knowledge graph snapshot.
open_nodes names (string array) Retrieves full attributes, observations, and relations of specific nodes.
Lifecycle cleanup_expired None Deletes ephemeral observations that have passed their expiration date.
consolidate_memory domain? Performs conflict resolution, near-duplicate Jaccard pruning, and synthesis.
get_stats None Returns storage metrics, entity domain breakdowns, and recent activity logs.
Exporter export_memory None Exports current graph snapshot to active Markdown targets.
manage_export_targets action, name?, path?, format?, id?, autoExport? Registers, removes, or toggles auto-export Markdown paths.
configure_ai provider (string) Changes default AI synthesis provider (none, 9router, ollama, openai).
Universal Bridge manage_bridge_servers action (string), name?, command?, args?, id? Adds, lists, or removes downstream bridged MCP servers in SQLite.
list_bridge_tools serverId (string), command?, args? Queries a bridged server to retrieve its exposed tools.
call_bridge_tool serverId (string), toolName (string), arguments? Executes a tool on a bridged server and returns the result.

Web Dashboard & Codebase Integration

Amneshia serves a web client on http://localhost:3457 when running in HTTP mode. The client provides:

  1. Interactive Graph Visualizer for looking at entity links and node clusters.
  2. Bridge Manager to register downstream MCP servers (e.g. codebase-memory-mcp) and configure commands/args.
  3. Settings Controls to switch LLM Providers (9router AG, Ollama, OpenAI, or None) and manage auto-export markdown logs.

Codebase Memory MCP Bridge Sync

codebase-memory-mcp is an advanced MCP server by DeusData that creates structural codebase knowledge graphs (AST analysis, function signatures, dependency trees, and git metadata) for AI agents.

When codebase-memory-mcp is configured as a bridge server in Amneshia and enabled, the system supports 1-click cross-graph synchronization via the /api/bridge/sync REST endpoint (or call_bridge_tool). This triggers an automated scan of the bridged server's active codebase indices, importing:

  • Workspace root paths.
  • Codebase nodes and edges metrics.
  • Active git branches and commit SHAs.

These synchronized details are stored directly under the project entity's observations prefixed with [Codebase Memory MCP].


Recommended Agent Directives / System Rules

To give your AI Agent (Cursor, Antigravity IDE, Claude Code, Windsurf, etc.) optimal long-term memory behavior, copy and paste the following prompt rules into your agent's custom instructions file (e.g. GEMINI.md, CLAUDE.md, .cursorrules, AGENTS.md):

### Long-Term Memory & Knowledge Graph Directives (Amneshia)
You are equipped with **Amneshia** (`amneshia`), a zero-external-database SQLite FTS5 long-term memory hub and Knowledge Graph.

1. **Session-Start Memory Retrieval**:
   - At the beginning of a conversation or session, call `search_memory` or `read_graph` to recall user context, active project preferences, entity relationships, and architectural decisions.
2. **Proactive Fact & Preference Persistence**:
   - Whenever the user shares a new preference, personal detail, workflow choice, or project update, proactively invoke `add_observations` or `create_entities` to store it permanently in Amneshia.
3. **Conflict Resolution & Consolidation**:
   - When user preferences change or old statements are updated, append the revision via `add_observations`, or call `consolidate_memory` ("Sleep Cycle") to track update histories and supersede outdated memories automatically.

License

MIT © Sabil Murti (Murtix)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured