MemoryMesh
MemoryMesh
Универсальный MCP-хаб для персональных данных. Ориентирован на локальное использование, по умолчанию приватный, спроектирован как уровень памяти для агентов, которых вы будете создавать в будущем.
MemoryMesh индексирует ваши локальные файлы — а в будущих версиях: электронную почту, календарь, историю браузера и логи чатов — и предоставляет к ним доступ через Model Context Protocol. Любой MCP-совместимый клиент (Claude Desktop, Cursor, Claude Code или ваш собственный агент) может задавать семантические вопросы по данным, которыми вы действительно владеете, не отправляя ни байта в облако.
Это хаб, а не узкоспециализированный RAG. Транспорт, модель эмбеддингов, парсер и стратегия разбиения на части (chunking) легко заменяются благодаря чистым интерфейсам — поэтому один и тот же хаб может вырасти из «поиска по заметкам» в «память для вашей агентной ОС».
Зачем это нужно
Персональные данные разбросаны по десяткам приложений. Ни один ИИ-агент не может получить доступ ко всем из них унифицированным и приватным способом. Протокол MCP от Anthropic определил стандарт; MemoryMesh заполняет пробел, выступая в роли хаба, который связывает всё воедино — локально, где приватность является обязательным условием, а не просто настройкой.
Related MCP server: NOUZ MCP Server
Как это работает
┌──────────────────────────────┐
MCP clients ───▶ │ MemoryMesh │
(Claude Desktop, │ ┌────────────────────────┐ │
Cursor, agents) │ │ MCP Tools (FastMCP): │ │
│ │ search_memory │ │
│ │ list_sources │ │
│ │ get_document │ │
│ │ index_now │ │
│ └──────────┬─────────────┘ │
│ ▼ │
│ Search Engine │
│ dense + BM25 → RRF │
│ │ │
│ ┌─────────┴──────────┐ │
│ ▼ ▼ │
│ ChromaDB BM25 │
│ (embeddings) (sparse) │
│ ▲ ▲ │
│ └──────── Indexer ───┘ │
│ ▲ │
│ Watchdog │
└────────────────┬──────────────┘
▼
Your filesystemКонвейер индексации: отслеживание файлов обнаруживает изменения → дедупликация через SHA-256 пропускает неизмененные файлы → парсер (txt/md/pdf/docx/code) → умный разбиватель (tree-sitter для кода, по заголовкам для markdown, рекурсивный для текста) → эмбеддинги через sentence-transformers → upsert в ChromaDB + индекс BM25.
Конвейер поиска: запрос → плотный поиск (ChromaDB) + разреженный поиск (BM25) с избыточной выборкой → Reciprocal Rank Fusion (k=60) → топ-k результатов с путем, превью, оценкой и метаданными.
Что отличает его от других
Большинство похожих инструментов оптимизируют что-то одно. MemoryMesh — единственный, который охватывает все аспекты одновременно:
Функция | MemoryMesh | LangChain | LlamaIndex | PrivateGPT | AnythingLLM | MemGPT | Haystack |
MCP native | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Гибридный поиск (dense + BM25 + RRF) | ✅ | Частично | Частично | ❌ | ❌ | ❌ | ✅ |
Мониторинг в реальном времени + дедупликация SHA-256 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Восстановление после сбоев | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
100% локально, без телеметрии | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Кроссплатформенность (Win/Linux/Mac) | ✅ | ✅ | ✅ | Частично | Частично | ✅ | ✅ |
Без зависимостей от фреймворков | ✅ | — | — | ❌ | ❌ | ❌ | — |
Спроектирован как инфраструктура | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
MCP native означает, что он был создан для MCP с первого дня, а не прикручен позже. 4 инструмента (search_memory, list_sources, get_document, index_now) имеют стабильный API, который не сломается при обновлении версий.
Спроектирован как инфраструктура означает, что архитектура учитывает доступ нескольких агентов, права доступа для каждого агента и аппаратные агенты (ESP32, Arduino), запрашивающие один и тот же хаб. См. Roadmap.
Статус
Функция | Статус |
Индексация локальных файлов (txt, md, code, pdf, docx) | ✅ |
Гибридный поиск — dense + BM25 + RRF | ✅ |
MCP-сервер — 4 инструмента, stdio + streamable-http | ✅ |
Инкрементальная индексация в реальном времени (watchdog + debounce) | ✅ |
Разбиение кода через Tree-sitter (Python, JS, TS, Go, Rust…) | ✅ |
Кроссплатформенность — Windows / Linux / macOS | ✅ |
Восстановление после сбоев | ✅ |
Опциональный OCR для сканированных PDF (Tesseract / EasyOCR) | ✅ |
Лог аудита приватности (только хеши запросов, без открытого текста) | ✅ |
172 теста — unit + интеграционные | ✅ |
Parent Document Retriever ( | 🔜 v0.2 |
GitHub Actions CI (Ubuntu / Windows / macOS) | 🔜 v0.2 |
Docker + docker-compose | 🔜 v0.2 |
Cross-encoder reranker | 🔜 v0.3 |
Фреймворк оценки (Precision@k, MRR, NDCG) | 🔜 v0.3 |
RAG с локальной LLM (Ollama) | 🔜 v0.4 |
Источники: Email / Календарь / Браузер | 🔜 v0.4 |
Уровень прав доступа для каждого агента | 🔜 v0.5 |
Быстрый старт
Предварительные требования: Python 3.11+ и
uv.
# Install from PyPI
pip install memorymesh-mcpИли клонируйте для разработки:
# Clone and install
git clone https://github.com/kilhubprojects/memory-mesh.git
cd memory-mesh
uv sync
# Initialize state directory and copy example config
uv run memorymesh init
# Edit config.yaml — point it at the folders you want indexed
# (see Configuration section below)
# Index a folder
uv run memorymesh index ~/Documents
# Test a search
uv run memorymesh search "how did I configure the debounce"Запуск в качестве демона (индексация в реальном времени)
uv run memorymesh start --transport streamable-http --detach
uv run memorymesh status
# edit a file in one of your sources — it gets indexed within ~2s
uv run memorymesh search "the sentence you just typed"
uv run memorymesh stopПодключение к Claude Desktop
Добавьте в конфигурацию Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"memorymesh": {
"command": "uv",
"args": [
"run",
"--directory", "/absolute/path/to/memory-mesh",
"memorymesh", "serve", "--stdio"
]
}
}
}Перезапустите Claude Desktop. Четыре инструмента появятся автоматически.
Инструменты MCP
Инструмент | Описание |
| Гибридный поиск по всему проиндексированному контенту. Возвращает путь, превью, оценку, тип файла и источник. |
| Список всех настроенных источников с количеством файлов и статусом индексации. |
| Чтение полного содержимого проиндексированного файла (по умолчанию до 1 МБ). |
| Принудительная немедленная переиндексация файла или директории, минуя наблюдатель. |
Все инструменты обратно совместимы. Сигнатуры v0.1 заморожены — добавление extended_preview в v0.2 является дополнением, а не ломающим изменением.
Конфигурация
Все настройки находятся в config.yaml. См. config.example.yaml для получения полностью прокомментированного справочника. Основные моменты:
sources:
- name: documents
path: ~/Documents
recursive: true
extensions: [.txt, .md, .pdf, .docx]
- name: projects
path: ~/Projects
recursive: true
extensions: [.py, .js, .ts, .go, .rs, .md]
embeddings:
model: all-MiniLM-L6-v2 # swap to paraphrase-multilingual-MiniLM-L12-v2 for PT/EN
search:
mode: hybrid # hybrid | dense | sparse
top_k: 10
server:
transport: stdio # stdio | streamable-httpГлобальный список игнорирования защищает чувствительные пути по умолчанию: .env, *.key, id_rsa*, secrets/, .ssh/, .aws/, .git/, node_modules/.
Бенчмарки
Бенчмарки будут опубликованы здесь после того, как v0.2 пройдет CI на всех трех платформах. Цель — воспроизводимые цифры, а не «быстро на моей машине».
Скрипты уже находятся в benchmarks/ и доступны для запуска локально:
bench_indexing.py— пропускная способность индексации (частей/с, МБ/с) на синтетическом корпусеbench_search_latency.py— p50/p95/p99 задержка поиска в гибридном/плотном/разреженном режимахbench_embedding_models.py— сравнение скорости и качества трех моделей эмбеддингов
Приватность и безопасность
Три жестких обязательства, которые не меняются от версии к версии:
Никакие данные не покидают вашу машину. Никакой телеметрии. Никаких внешних API-вызовов, если вы явно не дали согласие — и даже в этом случае в логе будет
WARNING.HTTP-слушатель по умолчанию привязывается только к
127.0.0.1. Открытие доступа к другим интерфейсам требует явного переопределения конфигурации.Логи никогда не содержат содержимое документов или запросы в открытом виде. Лог аудита записывает хеши запросов, а не сами запросы.
Шифрование данных в покое находится в плане развития. Если ваш диск зашифрован на уровне ОС, вы защищены от модели угроз, против которой спроектирован MemoryMesh.
План развития (Roadmap)
Версия | Фокус | Ожидаемая дата |
v0.2 | Усиление безопасности + CI/CD + Parent Document Retriever | скоро |
v0.3 | Фреймворк оценки (Precision@k, MRR) + reranker + расширение запросов | — |
v0.4 | Локальная LLM через Ollama (полный RAG) + источники email/календарь | — |
v0.5 | Права доступа для каждого агента + иерархическая память (горячая/теплая/холодная) | — |
v1.0 | Интеграция с агентной ОС — уровень памяти для мультиагентных систем | ~6 месяцев |
v2.0 | Аппаратные агенты — ESP32/Arduino, запрашивающие хаб через BLE/WiFi | ~12 месяцев |
Полные детали в ROADMAP.md.
Устранение неполадок
UnicodeDecodeErrorв текстовом файле — MemoryMesh последовательно пробует UTF-8, UTF-8 BOM, cp1252, latin-1. Если файл все равно не читается, он логируется и пропускается, программа не падает.Наблюдатель не срабатывает на сетевом диске / WSL mount — установите
watcher.use_polling: trueвconfig.yaml.Tesseract не найден — установите его в системе и убедитесь, что он есть в
PATH. Windows: установщик UB-Mannheim.Несоответствие модели эмбеддингов после изменения конфигурации — запустите
memorymesh reindex --all. CLI отказывается запускаться, если ID модели, сохраненный в ChromaDB, не совпадает с конфигурацией.
О проекте
MemoryMesh — это сольный проект, созданный с использованием vibe coding — написания кода в тесном сотрудничестве с LLM на высокой скорости — со структурированными архитектурными обзорами на каждом этапе. Процесс: LLM предлагает код, архитектор проверяет на корректность, пробелы в дизайне и нарушения спецификаций, набор тестов подтверждает. Ошибки, которые проскользнули (порядок запуска в системе восстановления, нарушение инкапсуляции BM25, неверные аргументы конструктора в CLI), были пойманы при проверке до того, как они попали в продакшн.
Вот как выглядит vibe coding, когда вы серьезно относитесь к этапу проверки: набор из 172 тестов, реальный гибридный конвейер поиска, система восстановления и архитектура, спроектированная для развития в полноценную агентную ОС.
Вклад в проект
MemoryMesh пока не принимает внешние вклады — еще нет CI или руководства по контрибьютингу. Это изменится в v0.2. Следите за репозиторием или загляните позже.
Лицензия
MIT. См. LICENSE.
Благодарности
Архитектура основана на изучении LlamaIndex, LangChain, PrivateGPT, AnythingLLM, MemGPT и Haystack — понимании того, что каждый из них делает хорошо, а что нет. А также chroma-mcp и MCP Python SDK за демонстрацию того, как MCP-native выглядит на практике.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceA custom Memory MCP Server that acts as a cache for Infrastructure-as-Code information, allowing users to store, summarize, and manage notes with a custom URI scheme and simple resource handling.231MIT
- AlicenseAqualityAmaintenanceMCP Server for local knowledge management. Semantic + keywords + tags818MIT
- AlicenseAqualityCmaintenanceRecord development decisions as structured JSON, embed them as vectors via Gemini, and search semantically over MCP. Works with Claude Code, Cursor, Windsurf, and any MCP client.91581MIT
- AlicenseAqualityCmaintenanceMemento is a local-first MCP server that gives AI coding agents durable project memory — facts, decisions, patterns, and architecture notes — so they stop re-learning the same context every session. Runs locally on Node.js 18+ with SQLite storage and optional cloud embeddings; works with Claude Code, Cursor, Windsurf, and any MCP client.19332MIT
Related MCP Connectors
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kilhubprojects/memory-mesh'
If you have feedback or need assistance with the MCP directory API, please join our Discord server