
amnesic
SurajKGoyalMIT
Amnesic — это MCP-сервер, который даёт AI-ассистенту долговременную память о структуре ваших SQL баз. Название ироничное: он не забывает, а наоборот, помнит всё между сессиями.
Каждый раз, когда вы начинаете новый диалог с ассистентом, ему приходится заново объяснять, какие таблицы есть, что означают значения колонок, как связаны таблицы. Amnesic решает эту проблему: он один раз сканирует схему, запоминает внешние ключи, типы колонок, а также аннотации, которые вы добавили, и при каждом последующем запросе передаёт эти знания ассистенту. Работает с PostgreSQL, MySQL, MSSQL и SQLite. Полностью read-only — два уровня защиты гарантируют, что никакие изменения в базе не произойдут.
Характеристики
Общее
- СтатусСообщество
- РазработчикSurajKGoyal
- ЛицензияMIT
Технологии
- ЯзыкиPython
- Транспортstdio
Описание
Возможности
- Автоматически обнаруживает все таблицы, представления, их колонки, типы и первичные ключи для подключённой базы данных.
- Запоминает семантику колонок — вы можете один раз объяснить ассистенту, что означает значение '3' в колонке status, и это сохранится для всех будущих сессий.
- Сохраняет граф внешних ключей между таблицами, чтобы ассистент мог автоматически строить корректные JOIN-запросы.
- Поддерживает четыре СУБД: PostgreSQL, MySQL, Microsoft SQL Server и SQLite (включая файловые и in-memory базы).
- Гарантирует безопасность: два уровня защиты от записи — статический анализ SQL на этапе разбора и принудительный откат транзакции после выполнения любого запроса.
- Хранит всё накопленное знание в локальном SQLite-файле в директории ~/.config/amnesic, независимо от источника данных.
- Предоставляет интерактивный мастер настройки — команда amnesic init проведёт вас по шагам, протестирует подключение и сохранит пароль в зашифрованном виде.
- Включает демо-режим (amnesic init --demo) с предсозданной SQLite-базой e-commerce (клиенты, товары, заказы, внешние ключи, enum-колонка) — можно попробовать все инструменты за минуту.
- Работает в любом MCP-совместимом клиенте: Claude Desktop, Claude Code, Cursor, VS Code, Cline, Windsurf.
Как подключить
Установите amnesic с помощью pipx или uvx:
pipx install amnesic
Затем запустите мастер настройки:
amnesic init
Мастер задаст тип базы данных, хост, порт, учётные данные и пароль. Он протестирует подключение и запишет конфигурацию в файл ~/.config/amnesic/connections.toml. Пароль сохраняется в .env с правами доступа 600.
После этого добавьте amnesic в конфигурацию вашего AI-клиента. Для Claude Desktop отредактируйте файл конфигурации (обычно claude_desktop_config.json) и добавьте строчку:
{
"mcpServers": {
"amnesic": {
"command": "uvx",
"args": ["amnesic"]
}
}
}
Перезапустите клиент — теперь ассистент будет видеть полную структуру вашей базы.
Примеры запросов
- «Покажи список всех таблиц в базе и их колонки»
- «Найди внешний ключ, который связывает таблицы orders и users»
- «Что означает значение 3 в колонке status таблицы orders?» (если ранее для этого значения была добавлена аннотация)
- «Создай SQL-запрос, который выводит имена клиентов и их последние заказы, используя известные связи»
Технические детали
- Язык: Python
- Транспорт: stdio
- Лицензия: MIT
- Совместимые клиенты: Claude Code, Claude Desktop, Cursor, VS Code, Cline, Windsurf, любые MCP-совместимые клиенты