# Midas

Локальное хранилище памяти для ИИ-агентов между сессиями. Сохраняет реплики без запросов к LLM и блокирует опасные действия на основе устаревших данных.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 15
- Автор: vornicx
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/vornicx/Midas
- Обновлён: 2026-07-28
- HTML: https://affpapa.org/nevibecode/mcp/midas

## Что делает

Midas сохраняет контекст диалогов на локальном диске в файле SQLite, связывая разные редакторы вроде Claude Code и Cursor в общую базу. При записи сообщений сервис не отправляет текст во внешние нейросети для выжимки фактов. За счёт этого данные не покидают компьютер, а при поиске возвращается точная цитата из диалога, а не пересказанная моделью выжимка.

Для поддержания актуальности система заменяет старые утверждения новыми и отслеживает историю изменений через вызовы вроде `memory_state` и `memory_diff`. Встроенный защитный механизм запрещает агенту выполнять разрушительные операции без подтверждения человека. Целостную сводку всего разговора top-k поиск собрать не сможет из-за архитектурных ограничений индексации без языковой модели. Для работы на Python требуется версия 3.11+.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `MIDAS_MCP_DB`, `MIDAS_MCP_EMBEDDER`, `MIDAS_MCP_MAX_RECORDS`, `MIDAS_MCP_MIN_IMPORTANCE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env MIDAS_MCP_DB=<MIDAS_MCP_DB> --env MIDAS_MCP_EMBEDDER=<MIDAS_MCP_EMBEDDER> --env MIDAS_MCP_MAX_RECORDS=<MIDAS_MCP_MAX_RECORDS> --env MIDAS_MCP_MIN_IMPORTANCE=<MIDAS_MCP_MIN_IMPORTANCE> --transport stdio midas -- uvx midas-memory-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from midas-memory-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add midas --env MIDAS_MCP_DB=<MIDAS_MCP_DB> --env MIDAS_MCP_EMBEDDER=<MIDAS_MCP_EMBEDDER> --env MIDAS_MCP_MAX_RECORDS=<MIDAS_MCP_MAX_RECORDS> --env MIDAS_MCP_MIN_IMPORTANCE=<MIDAS_MCP_MIN_IMPORTANCE> -- uvx midas-memory-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from midas-memory-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "midas": {
            "command": "uvx",
            "args": [
                "midas-memory-mcp"
            ],
            "env": {
                "MIDAS_MCP_DB": "<MIDAS_MCP_DB>",
                "MIDAS_MCP_EMBEDDER": "<MIDAS_MCP_EMBEDDER>",
                "MIDAS_MCP_MAX_RECORDS": "<MIDAS_MCP_MAX_RECORDS>",
                "MIDAS_MCP_MIN_IMPORTANCE": "<MIDAS_MCP_MIN_IMPORTANCE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from midas-memory-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "midas": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "midas-memory-mcp"
            ],
            "env": {
                "MIDAS_MCP_DB": "<MIDAS_MCP_DB>",
                "MIDAS_MCP_EMBEDDER": "<MIDAS_MCP_EMBEDDER>",
                "MIDAS_MCP_MAX_RECORDS": "<MIDAS_MCP_MAX_RECORDS>",
                "MIDAS_MCP_MIN_IMPORTANCE": "<MIDAS_MCP_MIN_IMPORTANCE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from midas-memory-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e MIDAS_MCP_DB=<MIDAS_MCP_DB> -e MIDAS_MCP_EMBEDDER=<MIDAS_MCP_EMBEDDER> -e MIDAS_MCP_MAX_RECORDS=<MIDAS_MCP_MAX_RECORDS> -e MIDAS_MCP_MIN_IMPORTANCE=<MIDAS_MCP_MIN_IMPORTANCE> midas uvx midas-memory-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from midas-memory-mcp <команда>

## Когда брать
- сохранить контекст решений между сессиями агента
- заблокировать выполнение деструктивных команд без прямого подтверждения
- проверить изменения в договорённостях через вызов `memory_diff`
- синхронизировать контекст нескольких редакторов через единый SQLite-файл

## Примеры запросов агенту
- Проверь через `memory_diff`, какие решения изменились со времени прошлого сеанса.
- Покажи текущее состояние ограничений проекта через `memory_state`.
- Уточни в сохранённой памяти, согласовывали ли мы миграцию базы данных.

## Похожие
- [genome](https://affpapa.org/nevibecode/mcp/genome.md) — MCP-сервер · ★ 10
- [Horosa Skill](https://affpapa.org/nevibecode/mcp/horosa-skill.md) — MCP-сервер · ★ 480
- [devdocs-mcp](https://affpapa.org/nevibecode/mcp/devdocs-mcp.md) — MCP-сервер · ★ 13
- [Mneme Memory](https://affpapa.org/nevibecode/mcp/mneme-memory.md) — MCP-сервер · ★ 182
- [Sugar](https://affpapa.org/nevibecode/mcp/sugar.md) — MCP-сервер · ★ 98
- [Pensyve](https://affpapa.org/nevibecode/mcp/pensyve.md) — MCP-сервер · ★ 97

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
