MemPlato MCP Server

Remember everything. Stored on your device, not theirs.

Documentation

πŸ›οΈ MemPlato

Personal MCP memory server that runs on your Android phone.

Every AI conversation starts from zero. MemPlato fixes that β€” it's a persistent memory layer for AI assistants, running entirely on your own device. Your data never leaves your phone.

License: AGPL-3.0 Platform: Android MCP Compatible Version smithery badge


What is MemPlato?

MemPlato turns your Android phone into a private MCP (Model Context Protocol) server. Claude, Perplexity, Cursor, and other AI tools can connect to it and remember things across conversations β€” your projects, preferences, notes, and context β€” without sending any of it to a cloud service.

The phone stays in your pocket. The memory stays on your device.

Your Phone (Termux)          Relay Server              AI Assistant
─────────────────            ─────────────             ──────────────
memplato_server.py  ←──SSH──  relay.memplato.com  ←──MCP──  Claude
port 7333                     (just a bridge)
SQLite + ONNX                 your data never stored

Screenshots

MemPlato main screen MemPlato setup screen MemPlato install progress MemPlato server running


Installation Video

MemPlato Installation β€” Full Setup Guide

πŸ‘† Click to watch the full installation walkthrough on YouTube


How it works

MemPlato runs a Python FastAPI server inside Termux on your Android phone. A reverse SSH tunnel through relay.memplato.com gives AI clients a stable HTTPS endpoint to connect to. The relay is a dumb pipe β€” it never stores your data.

Tech stack: Flutter (Android app) Β· Python 3.13 Β· FastAPI Β· SQLite Β· ONNX Runtime Β· MCP SSE Β· autossh


Features

  • 29 MCP tools β€” drawers, knowledge graph, diary, tunnels, semantic search
  • Semantic search with local ONNX embeddings (all-MiniLM-L6-v2, runs offline)
  • Knowledge graph with temporal facts (valid_from / valid_to)
  • Cross-wing tunnels β€” link related memory clusters
  • Agent diary β€” per-agent journal entries
  • Your data stays on your phone β€” 100% of your memories are stored locally on your device, never on external servers
  • Auto-reconnect watchdog β€” tunnel restarts automatically if it drops
  • English + Ukrainian UI

Supported AI clients

ClientConnection typeStatus
Claude (claude.ai)MCP SSEβœ… Tested
Claude DesktopMCP SSEβœ… Tested
PerplexityMCP SSEβœ… Tested
CursorMCP SSEβœ… Tested
Any MCP-compatible clientSSE or HTTPShould work

Download

πŸ‘‰ Download latest APK (v1.0.7)

The APK is ~280 MB because it includes Python, all libraries, and the AI model β€” so setup on your phone requires no internet connection.


Setup guide

What you need

  • Android phone (Android 12+ recommended, ARM64)
  • ~1 GB free storage
  • Patience β˜•

Quick overview

  1. Install Termux from GitHub (not from Play Store β€” it's outdated)
  2. Install the MemPlato APK
  3. Grant permission in Android Settings
  4. Follow the in-app setup steps β€” the app guides you through everything
  5. Tap Install and Start β€” setup takes 30–90 minutes, keep screen on and charger plugged in
  6. When done, a green dot appears and you get your personal URL:
https://relay.memplato.com/u/YOUR_ID/mcp
  1. In Claude β†’ Settings β†’ Connectors β†’ Add MCP server β†’ paste your URL

Ongoing use

Termux must stay running in the background (you'll see it in your notification bar). The watchdog script automatically restarts the tunnel if it drops. You don't need to do anything β€” just keep Termux open.

⚠️ Known limitation: After rebooting your phone, the server does not restart automatically. Use the Start button in the app to restart it manually. Auto-start on boot will be added in a future update.


MCP Tools reference

πŸ“¦ Drawers (memory storage)
ToolDescription
memplato_add_drawerSave memory into a wing/room
memplato_get_drawerFetch a drawer by ID
memplato_update_drawerUpdate content or move to new wing/room
memplato_delete_drawerDelete a drawer
memplato_list_drawersList drawers with optional filters
memplato_searchSemantic + keyword search
memplato_check_duplicateCheck if similar content already exists
memplato_get_taxonomyFull wing β†’ room β†’ count overview
🧠 Knowledge Graph
ToolDescription
memplato_kg_addAdd a fact: subject β†’ predicate β†’ object
memplato_kg_queryQuery relationships for an entity
memplato_kg_invalidateMark a fact as expired
memplato_kg_timelineChronological timeline of facts
memplato_kg_statsGraph statistics
πŸ”— Tunnels & Graph
ToolDescription
memplato_create_tunnelLink two memory locations
memplato_list_tunnelsList all tunnels
memplato_follow_tunnelsSee what a room connects to
memplato_traverseWalk the memory graph from a room
memplato_find_tunnelsFind rooms bridging two wings
memplato_delete_tunnelRemove a tunnel
memplato_graph_statsGraph overview
πŸ“” Diary & System
ToolDescription
memplato_diary_writeWrite to per-agent diary
memplato_diary_readRead recent diary entries
memplato_statusServer status overview
memplato_hook_settingsConfigure behavior flags
memplato_reconnectForce DB reconnect
memplato_memories_filed_awayCheck last checkpoint
memplato_get_aaak_specAAAK compressed memory format spec

Testing

MemPlato v1.0.5 was tested with 140+ test cases covering all 29 tools including edge cases, stress tests, and failure scenarios.

Results summary:

CategoryTestsPass
Drawers (CRUD)20βœ… 18/20
Semantic search9βœ… 7/9
Knowledge Graph13βœ… 12/13
Tunnels & Graph15βœ… 13/15
Diary & System11βœ… 11/11
Edge cases & stress72+βœ… Most pass

Known issues:

The server is stable and handles all edge cases without crashing. There are known limitations that will be addressed in the next major version:

  • Embedding quality β€” The lightweight ONNX model (all-MiniLM-L6-v2) optimized for mobile occasionally produces unexpected similarity scores for unrelated texts. Search works reliably for standard use cases. Will be improved in v2 with a better model.
  • Cross-lingual search β€” Ukrainian/English mixed queries sometimes return suboptimal ranking. For best results, use the same language as your stored content.
  • Duplicate protection β€” add_drawer does not automatically call check_duplicate. Best practice: call check_duplicate manually before saving.
  • Search limit β€” Semantic search is optimized for queries returning up to 10 results. Requesting more may cause an error in some configurations.
  • Auto-start after reboot β€” Auto-start after reboot β€” After rebooting your phone, use the Start button in the app to restart the server manually. Auto-start on boot will be added in a future update.

All known issues are cosmetic or edge-case. The core functionality β€” storing memories, knowledge graph, and MCP connectivity β€” works reliably.


Architecture

Android Phone
β”œβ”€β”€ MemPlato.apk (Flutter)
β”‚   β”œβ”€β”€ Manages setup flow
β”‚   β”œβ”€β”€ Copies all files to Termux
β”‚   └── Shows server status
β”‚
└── Termux (Linux environment)
    β”œβ”€β”€ memplato_server.py (FastAPI + MCP)
    β”‚   β”œβ”€β”€ /sse  ← MCP SSE endpoint
    β”‚   β”œβ”€β”€ /mcp  ← MCP HTTP endpoint
    β”‚   └── /health
    β”œβ”€β”€ palace.db (SQLite)
    β”œβ”€β”€ models/onnx/ (384-dim embeddings)
    β”œβ”€β”€ autossh (reverse tunnel)
    └── tunnel_watchdog.sh (auto-restart)

relay.memplato.com (Vultr VPS)
└── nginx + relay.py
    └── Bridges AI clients to your phone
    └── No data stored

Why not Play Store?

MemPlato requires Termux, which needs sideloading due to Android restrictions on terminal apps. The Google Play version of Termux is outdated and incompatible. This is a known limitation of the current MVP architecture.

The plan: After funding, MemPlato v2 will run without Termux β€” the server will be embedded directly into the app. No terminal setup, no manual steps. Straight to Google Play.


Roadmap

  • MVP β€” Flutter app + Python server + MCP SSE
  • All packages bundled in APK β€” no internet needed for setup
  • Reverse SSH tunnel via relay
  • 29 MCP tools
  • English + Ukrainian localization
  • v2 β€” server embedded in app, no Termux needed
  • v2 β€” sync across multiple phones, computers and clouds
  • Google Play release
  • Better embedding model
  • Manual server start/stop from the app
  • Auto-start on phone boot

Support this project

MemPlato is built by a solo founder. If you find it useful, you can support the project:

  • ⭐ Star this repo β€” it helps more than you think
  • πŸ› Report bugs β€” open an Issue
  • πŸ’¬ Share feedback β€” what features would you use?
  • πŸ’° Sponsor β€” GitHub Sponsors (coming soon)

Looking for pre-seed investment ($75K). Building toward Google Play launch and 10,000 users. Reach out: [email protected] or memplato.com


License

AGPL-3.0 β€” free to use and modify, but derivative works must remain open source.


Made with β˜• in Ukraine πŸ‡ΊπŸ‡¦