Marra Local Memory MCP

Marra Local Memory MCP

Secure local MCP server for encrypted memory files.

Category
Visit Server

README

<div align="center">

Marra Local Memory MCP

Secure local MCP server for encrypted memory files.

Languages Node.js npm MCP AES-256-GCM RSA-OAEP

<p> <a href="#english">English</a> · <a href="#русский">Русский</a> </p>

</div>

Languages

ENG · English<br> RU · Русский

<a id="english"></a>

English

What it does

Marra Local Memory MCP is a local stdio MCP server for reading and updating a small allow-listed set of encrypted memory files.

It exposes exactly three tools:

  • memory_status — returns encryption state and revisions;
  • memory_get — decrypts and reads a registered memory file;
  • memory_update — encrypts and atomically updates a file with revision locking.

Requirements

  • Windows
  • Node.js 22 or newer
  • npm 11 or newer

Check the installed versions:

node --version
npm --version

Installation

Open PowerShell in MCP_tool:

npm install
npm run setup

npm run setup creates the local RSA key pair, encrypted files, and the local cache. The private key remains local and is excluded from Git.

Start

Run the server over stdio:

npm start

The server does not open an HTTP port. Your MCP client starts it as a child process.

The ready-to-use connection configuration is in mcp.json:

{
  "mcpServers": {
    "marra-local-memory": {
      "command": "node",
      "args": ["D:\\Marra\\MCP_tool\\src\\server.js"],
      "cwd": "D:\\Marra\\MCP_tool"
    }
  }
}

Copy this configuration into the configuration file of your MCP client.

Tool input

Read a registered file:

{
  "file_id": "memory"
}

Update it using the current revision:

{
  "file_id": "memory",
  "content": "New content",
  "expected_revision": 0
}

Allowed IDs are memory and shared_data. Stale writes return REVISION_CONFLICT; read the latest revision and retry the update.

Security model

  • Content is encrypted with AES-256-GCM.
  • AES keys are wrapped with RSA-OAEP-SHA256.
  • Tools accept registered file_id values only, never arbitrary paths.
  • Absolute paths, .., symlinks, and arbitrary extensions are not exposed through the MCP API.
  • Writes use atomic replacement and a local write queue.
  • Private keys, encrypted runtime data, and decrypted cache files are excluded from Git.
  • Never share or commit storage/keys/private.pem.

Tests

npm test
npm audit --omit=dev

<a id="русский"></a>

Русский

Локальный stdio MCP-сервер для чтения и обновления зарегистрированных зашифрованных memory-файлов.

Доступны три инструмента:

  • memory_status — состояние шифрования и ревизии;
  • memory_get — расшифровка и чтение файла;
  • memory_update — шифрование и атомарное обновление с проверкой ревизии.

Установка и запуск

В PowerShell из папки MCP_tool:

npm install
npm run setup
npm start

Конфигурация подключения находится в mcp.json. Скопируйте её в настройки MCP-клиента.

Разрешены только file_id: memory и shared_data. Произвольные пути, абсолютные пути и .. не принимаются.

Данные шифруются AES-256-GCM, AES-ключи — RSA-OAEP-SHA256. Приватный ключ нельзя передавать или добавлять в Git.

Проверка

npm test
npm audit --omit=dev

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
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

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