Skip to main content
Glama

Synapse - Universal AI Memory over MCP

A local-first memory layer that gives any AI client persistent, semantic, cross-tool recall, exposed over the Model Context Protocol.

Built for Hackverse X - Global Tech Innovation 2026. Track: LLM with MCP.


The problem

Every large language model is brilliant but amnesiac. Each conversation starts from zero, context is trapped inside a single tool, and users repeat their preferences, stack, and decisions over and over. The intelligence is there; the continuity is not.

Related MCP server: PluresLM MCP

The solution

Synapse is a memory server speaking the Model Context Protocol. Any MCP-compatible client (Cursor, Claude Desktop, or your own agent) can call Synapse to remember durable facts and recall them semantically in any future session, across any tool.

  • Open protocol - memory is portable across every MCP client, not locked to one vendor.

  • Local-first and private - runs on your machine with an embedded vector database; memories never have to leave your device.

  • Zero-key by default - on-device embeddings (all-MiniLM-L6-v2) mean semantic recall works with no API key, no signup, and no cloud cost.

What is in the box

Piece

What it does

MCP server

Six tools (remember, recall, list_memories, forget, get_related, build_context), a memory://recent resource, and a recall-context prompt - over stdio and Streamable HTTP.

Memory core

sqlite-vec vector store + pluggable embeddings (on-device Transformers.js, optional OpenAI).

Web app

A beautiful, animated Next.js site: marketing landing, a memory dashboard (timeline, semantic search, live knowledge graph), and an agent playground that proves cross-session recall in the browser.

Architecture

MCP clients (Cursor, Claude, in-app agent)
        |  stdio / Streamable HTTP
        v
  MCP server  ──────────────► shared tool specs (lib/mcp/tools.ts)
        |                              |
        v                              v
  embeddings (local / OpenAI)   memory store (sqlite-vec)

The same tool definitions power the stdio server, the HTTP route, and the in-app agent, so behaviour is identical everywhere.

Quick start

Requirements: Node.js 20+ (developed on Node 23).

npm install
npm run dev

Open http://localhost:3000.

  • / - landing page

  • /dashboard - browse, search, add, and visualize memories

  • /playground - chat with an agent that remembers (no key needed)

  • /connect - copy-paste config to connect Cursor / Claude Desktop

On first use Synapse downloads a ~90MB on-device embedding model and caches it. After that, semantic memory runs fully offline.

Connect a real MCP client

Cursor / Claude Desktop (stdio)

Add to your client's MCP config (for Cursor, .cursor/mcp.json). Replace the path with this repo's absolute path:

{
  "mcpServers": {
    "synapse": {
      "command": "npx",
      "args": ["-y", "tsx", "/absolute/path/to/Hackathon/mcp/stdio.ts"]
    }
  }
}

The exact snippet (with the correct absolute path filled in) is shown on the /connect page.

HTTP (Streamable HTTP, JSON mode)

Start the app and point an HTTP-capable MCP client at http://localhost:3000/api/mcp. Quick smoke test:

curl -s -X POST http://localhost:3000/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Optional configuration

Copy .env.example to .env.local. Everything works with no env vars set.

Variable

Purpose

SYNAPSE_EMBEDDINGS

local (default) or openai.

OPENAI_API_KEY

Enables a live LLM agent in the Playground and optional cloud embeddings.

OPENAI_BASE_URL / OPENAI_CHAT_MODEL / OPENAI_EMBED_MODEL

OpenAI-compatible endpoint settings.

SYNAPSE_DB_PATH

Where the SQLite memory database lives (default ./data/synapse.db).

MCP tools

Tool

Description

remember

Store a memory durably (content, optional tags, source).

recall

Semantic search over memories (query, optional limit).

list_memories

List the most recent memories.

forget

Delete a memory by id.

get_related

Find memories semantically related to an id (powers the graph).

build_context

Synthesize a ready-to-inject context block for a query.

Tech stack

Next.js (App Router) · React · TypeScript · Tailwind CSS · Framer Motion · @modelcontextprotocol/sdk · better-sqlite3 + sqlite-vec · @huggingface/transformers.

Scripts

Command

Description

npm run dev

Start the web app.

npm run build / npm start

Production build and serve.

npm run mcp:stdio

Run the MCP server over stdio.

npm run smoke

Verify the memory core (sqlite-vec + embeddings).

Project layout

app/            Next.js routes (pages + API)
components/      UI components (nav, hero, graph, icons)
lib/memory/      vector store + embeddings
lib/mcp/         MCP server + shared tool specs
lib/agent/       in-app agent (live + demo mode)
mcp/stdio.ts     stdio entry point for local MCP clients
docs/            pitch, demo script, devpost copy

License

MIT.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Gives any AI tool persistent, searchable memory across sessions using hybrid semantic and keyword search, running 100% locally with no API keys or cloud dependencies.
    6
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Local-first, multi-user shared memory for AI agents with semantic search, offline support, and team synchronization.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to maintain persistent, local memory with retrieval-augmented search, knowledge graphs, and context surfacing, without any cloud dependencies.
    31 npm
    MIT