Сервер MCP - самый простой способ дать ИИ-ассистенту память, которая живёт дольше одного чата. Claude Code, Cursor и подобные клиенты теряют контекст чата, когда он заканчивается. Давать им прямой доступ к базе данных ради решения этой проблемы рискованно. hotkv-mcp - наш сервер MCP для HotKV с открытым исходным кодом. Он даёт ассистенту фиксированный набор инструментов для заметок, истории диалога, журнала событий, шаблонов промптов и поиска по документам. Ничего другого он не предлагает.
Коротко.
hotkv-mcp- сервер MCP под лицензией Apache-2.0, который подключает Claude Code, Cursor, VS Code или вашего собственного агента к серверу HotKV через 28 фиксированных инструментов. Инструмента, выполняющего произвольную команду, нет, поэтому ассистент не может очистить данные или изменить конфигурацию. Режим «только чтение» убирает все инструменты записи, а пространство имён ограничивает агента одним префиксом ключей. Установите его черезpip install hotkv-mcpили запустите черезuvx.
Что такое Model Context Protocol
Model Context Protocol, или MCP, - это открытый стандарт подключения ИИ-приложений к внешним системам, таким как источники данных, инструменты и рабочие процессы. Введение проекта сравнивает его с портом USB-C для ИИ-приложений. В терминах MCP приложение - это клиент, а каждая система, к которой оно подключается, предоставляется сервером.
Для памяти это означает, что ассистент вызывает именованный инструмент, например сохраняющий заметку. Сервер решает, что этому инструменту разрешено. У модели никогда не бывает собственного подключения к базе данных.
Что предоставляет сервер HotKV MCP
Сервер оборачивает память агентов HotKV, реестр промптов и поиск по документам в 28 инструментов. Каждый инструмент в своих аннотациях MCP объявляет, только он читает, пишет или удаляет. Тогда клиент может запрашивать подтверждение перед разрушительными.
| Группа | Инструменты |
|---|---|
| Сервер | server_info |
| Ключи | get, set, delete, key_info, scan |
| Хеши и списки | hash_get, hash_set, list_range, list_push |
| Диалоговая память | memory_append_message, memory_get_messages, memory_clear_messages |
| Рабочие заметки | memory_set_note, memory_get_note, memory_list_notes |
| Журнал событий и сводка | memory_log_event, memory_query_events, memory_set_summary, memory_get_summary |
| Реестр промптов | prompt_save, prompt_get, prompt_versions, prompt_list |
| Поиск по документам | rag_create, rag_ingest, rag_search, rag_list |
Инструменты памяти соответствуют хранилищам, описанным в статье о памяти ИИ-агентов, а именно истории диалога, рабочим заметкам и журналу событий. Семантическое извлечение по эмбеддингу не предоставляется. rag_search ранжирует по ключевой релевантности, поэтому эмбеддинги ему не нужны.
Инструменты для ключей, хешей и списков работают с любым сервером HotKV. Инструменты памяти, промптов и поиска по документам используют ИИ-движки HotKV, для которых нужна лицензия, их включающая. Без неё эти инструменты возвращают сообщение о том, что сервер не лицензирован для этой возможности. Инструменты для ключей продолжают работать. Экземпляры HotKV Cloud Performance и Scale включают ИИ-движки, как описано на странице об ИИ.
Установка и подключение
Для сервера нужен Python 3.10 или новее. Он написан под сервер HotKV 0.3.0 и официальный пакет hotkv-client, а версия 1.0.0 есть на PyPI. Установите его через pip или запустите без установки с помощью uv.
pip install hotkv-mcp
uvx hotkv-mcp --url hotkv://localhost:6379
Claude Code
Добавьте его одной командой. Двойной дефис -- отделяет собственные параметры Claude Code от команды, запускающей сервер, как описано в документации Claude Code по MCP.
claude mcp add hotkv -- uvx hotkv-mcp --url hotkv://localhost:6379
Cursor и Claude Desktop
Клиенты, читающие файл mcpServers, принимают тот же сервер как запись JSON. Храните пароль в переменной окружения HOTKV_URL или в хранилище секретов клиента. Командная строка видна другим пользователям машины. Для соединения TLS используйте hotkvs://.
{
"mcpServers": {
"hotkv": {
"command": "uvx",
"args": ["hotkv-mcp", "--read-only"],
"env": { "HOTKV_URL": "hotkv://:your-password@localhost:6379" }
}
}
}
Проверка работы
Выполните claude mcp list, чтобы убедиться, что сервер зарегистрирован. Затем попросите ассистента вызвать инструмент server_info. Он возвращает версию HotKV и расход памяти, а также число ключей, если пространство имён не задано. Он также сообщает, работает ли сервер только на чтение и каким пространством имён ограничен. Это подтверждает, что ваши меры защиты вступили в силу.
Держите агента в безопасных границах
Модель, способную вызывать инструменты, можно также уговорить использовать их неправильно, поэтому ограничения важнее возможностей.
Никаких произвольных команд
Инструмента, выполняющего сырую команду, нет. Ассистент не может очистить базу данных или изменить конфигурацию сервера, потому что ни один из 28 инструментов этого не делает. Он может читать любой ключ, до которого дотягиваются инструменты, поэтому пространство имён ниже так важно.
Режим «только чтение»
--read-only убирает все инструменты, которые пишут, включая set, delete, hash_set, list_push, инструменты памяти, которые добавляют или очищают, prompt_save, rag_create и rag_ingest. Агент их даже не видит. Используйте его для ассистентов, которые должны обращаться к памяти, но никогда её не менять.
Пространства имён и ограничения размера
--namespace PREFIX хранит всё под этим префиксом. Агент никогда не видит префикс и не может достучаться до других имён. Давайте каждому агенту префикс, не являющийся началом другого. Используйте agent-a и agent-b, а не agent и agent:b, иначе более короткий сможет достучаться до имён более длинного.
Результаты тоже ограничены. --max-value-bytes обрезает длинные значения и помечает их как усечённые, по умолчанию 65 536 байт. --max-items ограничивает, сколько ключей, элементов списка или совпадений возвращает вызов, по умолчанию 200. Поэтому одно огромное значение не может затопить контекст модели. Чтение целого хеша по числу элементов не ограничено, поэтому не держите большие хеши в пространстве имён агента.
У транспорта HTTP нет входа
Транспорт stdio по умолчанию запускается клиентом как подпроцесс. Для общего использования можно запустить hotkv-mcp --transport streamable-http, который слушает 127.0.0.1:8000 по пути /mcp. Он не аутентифицирует вызывающих. Держите его на localhost или поместите за обратный прокси, который это делает, и дайте ему собственное пространство имён.
Выбор настройки для команды
Нужные флаги зависят от назначения каждого агента. Каждый параметр ниже - флаг командной строки. У --read-only и --namespace также есть переменные окружения: HOTKV_MCP_READ_ONLY и HOTKV_MCP_NAMESPACE.
| Настройка | Флаги | Когда использовать |
|---|---|---|
| Пробный запуск в одиночку | --namespace trial | Вы пробуете инструменты на локальном сервере |
| Читатель общих заметок | --read-only --namespace team-docs | Ассистент должен обращаться к промптам и заметкам, но никогда их не менять |
| Один пишущий на агента | --namespace agent-a для каждого агента | Несколько агентов хранят собственную память и не должны видеть чужую |
| Общий сервис | --transport streamable-http за прокси с аутентификацией | Команда делит один сервер, и вы контролируете, кто может до него достучаться |
Начинайте с самой строгой строки, которая справляется с задачей. Позже доступ легко расширить, а вот забрать назад то, что агент уже записал, трудно.
Первый сеанс шаг за шагом
Короткая проба покажет, что делают меры защиты, прежде чем вы доверите серверу настоящие заметки. Используйте временное пространство имён и локальный сервер HotKV с лицензией на ИИ-движки, потому что без этой лицензии инструменты памяти не работают.
- Подключитесь с пространством имён. Выполните
claude mcp add hotkv -- uvx hotkv-mcp --url hotkv://localhost:6379 --namespace trial. - Проверьте ограничения. Попросите ассистента вызвать
server_infoи сообщить пространство имён и то, работает ли сервер только на чтение. Он должен ответитьtrialи сообщить, что режим только чтения не включён. - Сохраните заметку. Попросите его запомнить, что тестовый сайт находится по заданному адресу, в заметке с именем сайта. Ассистент вызывает
memory_set_note, а сеанс создаётся при первом использовании. - Прочитайте её в новом чате. Начните новый разговор и спросите, какие заметки есть для этого сеанса. Он вызывает
memory_list_notesиmemory_get_note, и заметка по-прежнему на месте. - Запишите решение. Попросите записать решение в журнал событий. Он вызывает
memory_log_event, аmemory_query_eventsпозже возвращает его. - Уберите доступ на запись. Удалите старую запись, подключитесь заново с
--read-onlyи повторите шаг 4. Чтение по-прежнему работает, а инструменты записи больше не предлагаются.
Если шаг 6 ведёт себя как описано, вы увидели два самых важных механизма: пространство имён и режим «только чтение».
Относитесь к тому, что сохраняет ассистент, как к недоверенному тексту при чтении, как объясняет статья о памяти в разделе «Считайте сохранённый текст недоверенным». Заметки, записанные с веб-страниц, могут нести инструкции.
Устранение неполадок
- «This HotKV server is not licensed for that feature.» Инструментам памяти, промптов и поиска по документам нужна лицензия HotKV, включающая ИИ-движки. Инструменты для ключей, хешей и списков продолжают работать без неё.
- Соединение не устанавливается. Проверьте схему URL. Работают
hotkv://,hotkvs://(TLS),redis://иrediss://, а пароль указывается в URL какhotkv://:password@host:6379. - Значение возвращается обрезанным. Результат помечается как усечённый, когда превышает
--max-value-bytes. Увеличьте лимит или храните значения меньшего размера. - Нет инструмента записи. Поищите
--read-onlyсреди аргументов сервера илиHOTKV_MCP_READ_ONLYв его окружении. - Ассистент не находит имя, сохранённое ранее. Проверьте, что он использовал то же имя сеанса или агента и что сервер запущен с тем же пространством имён, что и раньше.
uvxне найден. Установите uv или установите пакет черезpipи запускайтеhotkv-mcpнапрямую.
Часто задаваемые вопросы
Что такое сервер MCP?
Сервер MCP - это программа, предоставляющая инструменты, данные или рабочие процессы ИИ-приложению по протоколу Model Context Protocol. Приложение, называемое клиентом, перечисляет инструменты и вызывает их по имени. Сервер точно определяет, что может делать каждый инструмент.
Как добавить сервер MCP в Claude Code?
Выполните claude mcp add <name> -- <command>. Для HotKV это claude mcp add hotkv -- uvx hotkv-mcp --url hotkv://localhost:6379. Затем выполните claude mcp list, чтобы убедиться, что он зарегистрирован.
Безопасно ли давать ИИ-ассистенту сервер HotKV MCP?
Он ограничивает то, что может делать ассистент. Он предлагает 28 фиксированных инструментов и никакой произвольной команды, может быть сделан доступным только для чтения, может быть ограничен одним пространством имён и ограничивает размеры результатов. Он не может сделать сохранённый текст надёжным, а у транспорта HTTP нет аутентификации, поэтому держите его на localhost.
Работает ли сервер HotKV MCP с Cursor и VS Code?
README перечисляет Cursor и VS Code среди клиентов, для которых он предназначен, и его может запустить любой клиент, способный запускать сервер MCP по stdio. Cursor и Claude Desktop читают файл mcpServers, как показано выше. Другие клиенты называют эту настройку иначе, поэтому проверьте документацию своего клиента. Мы не проверяли каждый клиент.
Нужна ли лицензия HotKV для использования hotkv-mcp?
Сам сервер распространяется под Apache-2.0, а инструменты для ключей, хешей и списков работают без лицензии. Инструментам памяти, реестра промптов и поиска по документам нужна лицензия HotKV, включающая ИИ-движки.
Может ли ассистент искать по смыслу?
Не через этот сервер. Поиск по документам ранжирует по ключевой релевантности, чтобы ему не нужна была модель эмбеддингов, а семантическая память не предоставляется как инструмент. Для извлечения по смыслу используйте клиентскую библиотеку HotKV с вашими собственными эмбеддингами.
Можно ли ограничить ассистента памятью одного проекта?
Да. Запустите сервер с --namespace и префиксом для этого проекта, например --namespace project-x. Ассистент никогда не видит префикс и не может достучаться до имён за его пределами. Используйте разный префикс для каждого проекта и избегайте такого, который является началом другого.
Как запустить hotkv-mcp по HTTP?
Запустите hotkv-mcp --transport streamable-http --host 127.0.0.1 --port 8000. Он обслуживает /mcp и не аутентифицирует вызывающих, поэтому держите его на localhost или поместите за обратный прокси, который это делает. Дайте ему собственное пространство имён и используйте --read-only, если клиентам нужно только читать.
Когда использовать клиентскую библиотеку вместо сервера MCP?
Используйте сервер MCP для ассистентов, которые уже понимают MCP. Для кода вашего собственного приложения обращайтесь к HotKV через клиентскую библиотеку, которая также предоставляет семантическое извлечение по эмбеддингу, чего 28 инструментов не содержат.



Продолжите разговор
Комментарии
Есть вопросы о методике? Получили другой результат на своём оборудовании? Поделитесь находками. Комментарии проверяются перед публикацией.