Memanto MCP Server
mcp-name: io.github.moorcheh-ai/memanto
Постоянная семантическая память для любого агента, совместимого с MCP.
Этот пакет предоставляет инструменты для работы с памятью Memanto —
remember, recall, answer и другие — через инструменты Model Context Protocol (MCP). Благодаря этому любой
MCP-клиент (Claude Desktop, Cursor, Windsurf, Cline, Continue, Goose,
пользовательские агенты и другие) может подключить долговременную память, добавив одну строку в конфигурацию.
Один API-ключ Moorcheh → типизированная семантическая память для всех агентов, использующих одно пространство имён: поиск менее чем за 90 мс, обнаружение конфликтов и отсутствие задержки при добавлении данных.
Установка
pip install memanto-mcp
Требуются Python 3.10+, memanto>=0.2.13 и mcp>=1.2; этот фильтр остаётся пригодным для использования.
Если в вызове инструмента не указан source, сервер связывает запись с
подключённым MCP-клиентом, имя которого получено при установлении соединения (cursor, codex,
claude-ai и другие). Если клиент не передал имя, используется mcp-agent.
Таким образом, два редактора, работающие с одним агентом, можно различать при поиске без
дополнительной настройки.
Конфигурация
Все параметры задаются через переменные окружения (порядок загрузки: переменные окружения процесса →
файл .env в рабочем каталоге).
| Переменная | Обязательная | Значение по умолчанию | Описание |
|---|---|---|---|
MOORCHEH_API_KEY | да | — | API-ключ Moorcheh. |
MEMANTO_DEFAULT_AGENT_ID | рекомендуется | нет | Агент по умолчанию. Если задан, в вызовах инструментов можно не указывать agent_id. |
MEMANTO_AGENT_PATTERN | нет | tool | Шаблон (support/project/tool), используемый при автоматическом создании агента по умолчанию. |
MEMANTO_AGENT_AUTO_CREATE | нет | true | Создавать агента по умолчанию при первом использовании, если он отсутствует. Явно указанные агенты, отличные от агента по умолчанию, должны существовать заранее. |
MEMANTO_SESSION_DURATION_HOURS | нет | значение сервера по умолчанию (6) | Срок действия сеанса в часах. |
MEMANTO_EXPOSE_ADMIN | нет | false | Регистрировать 4 инструмента для управления агентами. |
MEMANTO_MCP_TRANSPORT | нет | stdio | stdio, sse или streamable-http. |
MEMANTO_MCP_HOST | нет | 127.0.0.1 | Адрес привязки для транспортов sse/http. |
MEMANTO_MCP_PORT | нет | 8765 | Порт привязки для транспортов sse/http. |
MEMANTO_MCP_LOG_LEVEL | нет | INFO | Уровень журналирования (журналы всегда выводятся в stderr). |
Параметры командной строки (memanto-mcp --transport sse --port 9000) имеют приоритет над переменными окружения.
Запуск через HTTP / SSE
Для удалённых клиентов и конфигураций с несколькими процессами запустите сервер с сетевым
транспортом:
# Streamable HTTP (рекомендуемый современный транспорт)
memanto-mcp --transport streamable-http --host 0.0.0.0 --port 8765
# Server-Sent Events (более старый, но всё ещё широко поддерживаемый транспорт)
memanto-mcp --transport sse --host 0.0.0.0 --port 8765
Затем укажите клиенту адрес http://your-host:8765/mcp (или другой путь, объявленный выбранным
транспортом). Для производственного развёртывания используйте обратный прокси и аутентификацию —
сам сервер аутентифицируется в Moorcheh с помощью вашего API-ключа, но не выполняет аутентификацию входящих MCP-клиентов.
Принцип работы
┌──────────────┐ MCP/stdio ┌──────────────────┐ Moorcheh API ┌─────────────┐
│ Claude / IDE │ ──────────────► │ memanto-mcp │ ────────────────► │ Moorcheh │
│ (client) │ ◄────────────── │ (this package) │ ◄──────────────── │ Service │
└──────────────┘ tool calls └──────────────────┘ HTTPS+API key └─────────────┘
│
└─ uses memanto.cli.client.SdkClient
(same client the Memanto CLI uses)
-
При запуске проверяются настройки; проверка API-ключа выполняется при первом вызове инструмента.
-
При первом вызове инструмента памяти для конкретного агента сервер проверяет, существует ли агент (при необходимости создаёт его автоматически) и активирует JWT-сеанс. Сеансы автоматически продлеваются до истечения срока действия, поэтому длительные MCP-подключения не прерываются из-за истечения срока действия сеанса посреди разговора.
-
При завершении работы сервер намеренно сохраняет сеанс активным: срок действия JWT-сеансов ограничен временем, и другие клиенты Memanto (CLI, REST) могут использовать их совместно.
Встраивание в приложение
Если вы создаёте собственный MCP-хост или встраиваете этот сервер в более крупный процесс,
экземпляр FastMCP можно создать самостоятельно:
from memanto_mcp import MCPServerSettings, build_server
settings = MCPServerSettings() # reads env / .env
mcp = build_server(settings)
# Add your own tools alongside Memanto's, then run.
mcp.run(transport="stdio")
Устранение неполадок
| Симптом | Решение |
|---|---|
configuration error: MOORCHEH_API_KEY is required | Задайте переменную окружения в блоке env конфигурации MCP-клиента. |
Agent '…' does not exist and MEMANTO_AGENT_AUTO_CREATE is disabled | Включите автоматическое создание агентов или один раз вызовите create_agent (инструменты администрирования) / memanto agent create . |
| Инструменты не отображаются в клиенте | Убедитесь, что клиент поддерживает MCP и путь к конфигурации указан верно. Проверьте журнал MCP-клиента: при запуске там появятся строки сервера из stderr с префиксом memanto_mcp. |
| Искажённый вывод в режиме stdio | Возможно, какая-то программа выводит данные в stdout — этот канал зарезервирован для JSON-RPC. Перенаправьте журналы в stderr. Сам сервер выводит данные только в stderr. |
| Первый вызов выполняется медленно | Это связано с холодным запуском: импортом SDK и первой активацией сеанса. При последующих вызовах используется активный сеанс. |
Лицензия
MIT — как и у проекта Memanto.
См. LICENSE.
Ссылки
-
Memanto — сам агент памяти
-
Moorcheh — лежащая в основе семантическая база данных без индексации
-
Спецификация Model Context Protocol