Официальный MCP-сервер Redis: чтение и запись ключей, работа со списками, хэшами, streams и pub/sub — Redis как memory layer для AI-агентов.
# Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"redis": {
"command": "uvx",
"args": ["redis-mcp-server", "--url", "redis://localhost:6379/0"]
}
}
}
# Claude Code (CLI):
claude mcp add redis -- uvx redis-mcp-server --url redis://localhost:6379/0
# OpenCode — ~/.config/opencode/opencode.json:
{
"mcp": {
"redis": {
"type": "local",
"command": ["uvx", "redis-mcp-server", "--url", "redis://localhost:6379/0"]
}
}
}
Сервер Redis MCP — это интерфейс естественного языка, предназначенный для агентных приложений для эффективного управления данными в Redis и поиска по ним. Он бесшовно интегрируется с клиентами MCP (Model Content Protocol), позволяя ИИ-управляемым рабочим процессам взаимодействовать со структурированными и неструктурированными данными в Redis. Используя этот MCP-сервер, вы можете задавать вопросы, такие как:
stdio. Поддержка транспорта stremable-http будет добавлена в будущем.Этот MCP-сервер предоставляет инструменты для управления данными, хранящимися в Redis.
string для установки и получения строк с временем жизни. Полезны для хранения простых конфигурационных значений, данных сессий или кэширования ответов.hash для хранения пар поле-значение в одном ключе. Хэш может хранить векторные встраивания. Полезны для представления объектов с множеством атрибутов, профилей пользователей или информации о товарах, где к полям можно обращаться по отдельности.list с типичными операциями добавления и извлечения элементов. Полезны для очередей, шин сообщений или поддержания списка последних действий.set для добавления, удаления и перечисления элементов множества. Полезны для отслеживания уникальных значений, таких как идентификаторы пользователей или тегов, а также для выполнения операций над множествами, таких как пересечение.sorted set для управления данными, например, таблицами лидеров, очередями с приоритетами или аналитикой на основе времени с упорядочиванием по баллу.pub/sub для публикации сообщений, создания подписок на каналы или шаблоны и чтения поставленных в очередь сообщений с использованием возвращённых дескрипторов подписок. Полезен для уведомлений в реальном времени, чат-приложений или распространения обновлений нескольким клиентам.streams для добавления, чтения, удаления, создания и удаления групп потребителей, а также подтверждения обработанных записей в потоках данных. Полезны для источников событий, лент активностей и обработки событий на основе воркеров с группами потребителей Redis Streams.JSON для хранения, извлечения и манипулирования JSON-документами в Redis. Полезны для сложных вложенных структур данных, документальных баз данных или управления конфигурациями с доступом по путям.Дополнительные инструменты.
docs для поиска документации, руководств и лучших практик Redis с помощью запросов на естественном языке (поддерживается HTTP API MCP_DOCS_SEARCH_URL).query engine для управления векторными индексами и выполнения векторного поиска.server management для получения информации о базе данных.Сервер Redis MCP доступен как пакет PyPI и для прямой установки из репозитория GitHub.
Настройка последней версии Redis MCP Server из PyPI, например, может быть выполнена импортом следующей JSON-конфигурации в нужном фреймворке или инструменте.
Команда uvx загрузит сервер на лету (если он ещё не кэширован), создаст временную среду и запустит её.
{
"mcpServers": {
"RedisMCPServer": {
"command": "uvx",
"args": [
"--from",
"redis-mcp-server@latest",
"redis-mcp-server",
"--url",
"\"redis://localhost:6379/0\""
]
}
}
}
Формат указания аргумента --url соответствует схемам redis и rediss:
redis://user:secret@localhost:6379/0?foo=bar&qux=baz
Например, вы можете легко подключиться к локальному серверу:
redis://localhost:6379/0
Где 0 — это логическая база данных, к которой вы хотите подключиться.
Для зашифрованного подключения к базе данных (например, к базе данных Redis Cloud) используйте схему rediss.
rediss://user:secret@localhost:6379/0?foo=bar&qux=baz
Для проверки подлинности сервера укажите ssl_ca_certs.
rediss://user:secret@hostname:port?ssl_cert_reqs=required&ssl_ca_certs=path_to_the_certificate
Для непроверенного соединения установите ssl_cert_reqs в значение none.
rediss://user:secret@hostname:port?ssl_cert_reqs=none
Настройте подключение с помощью доступных опций в разделе «Доступные параметры CLI».
Вы можете установить пакет следующим образом:
pip install redis-mcp-server
И запустить его с помощью uv в вашей среде.
uv python install 3.14
uv sync
uv run redis-mcp-server --url redis://localhost:6379/0
Однако запуск MCP-сервера наиболее полезен, когда он делегируется фреймворку или инструменту, в котором этот MCP-сервер настроен.
Вы можете настроить нужную версию Redis MCP Server с помощью uvx, что позволяет запускать её напрямую из GitHub (с ветки или использовать помеченный релиз).
Рекомендуется использовать помеченный релиз, ветка
mainнаходится в активной разработке и может содержать критические изменения.
Например, вы можете выполнить следующую команду для запуска релиза 0.2.0:
uvx --from git+https://github.com/redis/mcp-redis.git@0.2.0 redis-mcp-server --url redis://localhost:6379/0
Проверьте примечания к выпуску для последней версии в разделе Releases. Дополнительные примеры приведены ниже.
# Запуск с URI Redis
uvx --from git+https://github.com/redis/mcp-redis.git redis-mcp-server --url redis://localhost:6379/0
# Запуск с URI Redis и SSL
uvx --from git+https://github.com/redis/mcp-redis.git redis-mcp-server --url "rediss://<ИМЯ_ПОЛЬЗОВАТЕЛЯ>:<ПАРОЛЬ>@<ХОСТ>:<ПОРТ>?ssl_cert_reqs=required&ssl_ca_certs=<ПУТЬ_К_СЕРТИФИКАТУ>"
# Запуск с отдельными параметрами
uvx --from git+https://github.com/redis/mcp-redis.git redis-mcp-server --host localhost --port 6379 --password mypassword
# Посмотреть все опции
uvx --from git+https://github.com/redis/mcp-redis.git redis-mcp-server --help
Для разработки или если вы предпочитаете клонировать репозиторий:
# Клонирование репозитория
git clone https://github.com/redis/mcp-redis.git
cd mcp-redis
# Установка зависимостей с помощью uv
uv venv
source .venv/bin/activate
uv sync
# Запуск с интерфейсом CLI
uv run redis-mcp-server --help
# Или запуск основного файла напрямую (использует переменные окружения)
uv run src/main.py
После того как вы клонировали репозиторий, установили зависимости и убедились, что можете запустить сервер, вы можете настроить Claude Desktop или любой другой MCP-клиент для использования этого MCP-сервера, запуская основной файл напрямую (он использует переменные окружения). Обычно это предпочтительный вариант для разработки. Следующий пример предназначен для Claude Desktop, но он применим к любому другому MCP-клиенту.
uv (например, which uv)claude_desktop_config.json~/Library/Application\ Support/Claude/{
"mcpServers": {
"redis": {
"command": "<полный_путь_к_команде_uv>",
"args": [
"--directory",
"<ваша_директория_mcp_сервера>",
"run",
"src/main.py"
],
"env": {
"REDIS_HOST": "<имя_хоста_вашей_базы_данных_redis>",
"REDIS_PORT": "<порт_вашей_базы_данных_redis>",
"REDIS_PWD": "<пароль_к_вашей_базе_данных_redis>",
"REDIS_SSL": True|False,
"REDIS_SSL_CA_PATH": "<путь_к_вашему_ca>",
"REDIS_CLUSTER_MODE": True|False
}
}
}
}
Вы можете устранять неполадки, отслеживая файл журнала.
tail -f ~/Library/Logs/Claude/mcp-server-redis.log
Вы можете использовать контейнеризированный вариант развертывания этого сервера. Вы можете либо собрать собственный образ, либо использовать официальный образ Redis MCP Docker.
Если вы хотите собрать собственный образ, Redis MCP Server предоставляет Dockerfile. Соберите образ этого сервера:
docker build -t mcp-redis .
Наконец, настройте клиент для создания контейнера при запуске. Ниже приведен пример для Claude Desktop. Отредактируйте claude_desktop_config.json и добавьте:
{
"mcpServers": {
"redis": {
"command": "docker",
"args": ["run",
"--rm",
"--name",
"redis-mcp-server",
"-i",
"-e", "REDIS_HOST=<имя_хоста_redis>",
"-e", "REDIS_PORT=<порт_redis>",
"-e", "REDIS_USERNAME=<имя_пользователя_redis>",
"-e", "REDIS_PWD=<пароль_redis>",
"mcp-redis"]
}
}
}
Чтобы использовать официальный образ Redis MCP Docker, просто замените имя вашего образа (mcp-redis в примере выше) на mcp/redis.
Redis MCP Server может быть сконфигурирован двумя способами: через аргументы командной строки или через переменные окружения. Приоритет: аргументы командной строки > переменные окружения > значения по умолчанию.
Вы можете настроить ACL Redis для ограничения доступа к базе данных Redis. Например, чтобы создать пользователя с правами только для чтения:
127.0.0.1:6379> ACL SETUSER readonlyuser on >mypassword ~* +@read -@write
Настройте пользователя через аргументы командной строки или переменные окружения.
При использовании интерфейса CLI вы можете настроить сервер с помощью аргументов командной строки:
# Базовое подключение к Redis
uvx --from redis-mcp-server@latest redis-mcp-server \
--host localhost \
--port 6379 \
--password mypassword
# Использование URI Redis (проще)
uvx --from redis-mcp-server@latest redis-mcp-server \
--url redis://user:pass@localhost:6379/0
# Подключение по SSL
uvx --from redis-mcp-server@latest redis-mcp-server \
--url rediss://user:pass@redis.example.com:6379/0
# Посмотреть все доступные опции
uvx --from redis-mcp-server@latest redis-mcp-server --help
Доступные опции CLI:
- --url - URI подключения к Redis (redis://user:pass@host:port/db)
- --host - Имя хоста Redis (по умолчанию: 127.0.0.1)
- --port - Порт Redis (по умолчанию: 6379)
- --db - Номер базы данных Redis (по умолчанию: 0)
- --username - Имя пользователя Redis
- --password - Пароль Redis
- --ssl - Включить SSL-подключение
- --ssl-ca-path - Путь к файлу сертификата CA
- --ssl-keyfile - Путь к файлу ключа SSL
- --ssl-certfile - Путь к файлу сертификата SSL
- --ssl-cert-reqs - Требования к сертификату SSL (по умолчанию: required)
- --ssl-ca-certs - Путь к файлу сертификатов доверенных CA
- --cluster-mode - Включить режим кластера Redis
При необходимости вы можете использовать переменные окружения. Для всех переменных предоставлены значения по умолчанию.
| Имя | Описание | Значение по умолчанию |
|---|---|---|
REDIS_HOST |
IP-адрес или имя хоста Redis | "127.0.0.1" |
REDIS_PORT |
Порт Redis | 6379 |
REDIS_DB |
База данных | 0 |
REDIS_USERNAME |
Имя пользователя базы данных по умолчанию | "default" |
REDIS_PWD |
Пароль базы данных по умолчанию | "" |
REDIS_SSL |
Включает или отключает SSL/TLS | False |
REDIS_SSL_CA_PATH |
Сертификат CA для проверки сервера | None |
REDIS_SSL_KEYFILE |
Файл приватного ключа клиента для аутентификации клиента | None |
REDIS_SSL_CERTFILE |
Файл сертификата клиента для аутентификации клиента | None |
REDIS_SSL_CERT_REQS |
Должен ли клиент проверять сертификат сервера | "required" |
REDIS_SSL_CA_CERTS |
Путь к файлу доверенных сертификатов CA | None |
REDIS_CLUSTER_MODE |
Включить режим Redis Cluster | False |
Redis MCP Server поддерживает аутентификацию EntraID (Azure Active Directory) для Azure Managed Redis, обеспечивая аутентификацию на основе OAuth с автоматическим управлением токенами.
Аутентификация по@Service Principal - Аутентификация приложения с использованием учетных данных клиента:
export REDIS_ENTRAID_AUTH_FLOW=service_principal
export REDIS_ENTRAID_CLIENT_ID=ваш-id-клиента
export REDIS_ENTRAID_CLIENT_SECRET=ваш-секрет-клиента
export REDIS_ENTRAID_TENANT_ID=ваш-id-аренды
Аутентификация управляемой идентичностью - Для приложений, развернутых в Azure:
# Управляемая идентичность, назначенная системой
export REDIS_ENTRAID_AUTH_FLOW=managed_identity
export REDIS_ENTRAID_IDENTITY_TYPE=system_assigned
# Назначенная пользователем управляемая идентичность
export REDIS_ENTRAID_AUTH_FLOW=managed_identity
export REDIS_ENTRAID_IDENTITY_TYPE=user_assigned
export REDIS_ENTRAID_USER_ASSIGNED_CLIENT_ID=your-identity-client-id
Учётные данные по умолчанию для Azure - Автоматическое обнаружение учётных данных (рекомендуется для разработки):
export REDIS_ENTRAID_AUTH_FLOW=default_credential
export REDIS_ENTRAID_SCOPES=https://redis.azure.com/.default
| Имя | Описание | Значение по умолчанию |
|---|---|---|
REDIS_ENTRAID_AUTH_FLOW |
Тип процесса аутентификации | Нет (EntraID отключен) |
REDIS_ENTRAID_CLIENT_ID |
Идентификатор клиента службы (Service Principal) | Нет |
REDIS_ENTRAID_CLIENT_SECRET |
Секрет клиента службы (Service Principal) | Нет |
REDIS_ENTRAID_TENANT_ID |
Идентификатор арендатора Azure | Нет |
REDIS_ENTRAID_IDENTITY_TYPE |
Тип управляемой идентичности | "system_assigned" |
REDIS_ENTRAID_USER_ASSIGNED_CLIENT_ID |
Идентификатор назначенного пользователем управляемой идентичности | Нет |
REDIS_ENTRAID_SCOPES |
Области OAuth для Учётных данных по умолчанию для Azure | "https://redis.azure.com/.default" |
REDIS_ENTRAID_RESOURCE |
Идентификатор ресурса Azure Redis | "https://redis.azure.com/" |
Для локальной разработки с использованием Azure CLI:
# Вход в систему с помощью Azure CLI
az login
# Настройка MCP-сервера
export REDIS_ENTRAID_AUTH_FLOW=default_credential
export REDIS_URL=redis://your-azure-redis.redis.cache.windows.net:6379
Для производственной среды с использованием службы (Service Principal):
export REDIS_ENTRAID_AUTH_FLOW=service_principal
export REDIS_ENTRAID_CLIENT_ID=your-app-client-id
export REDIS_ENTRAID_CLIENT_SECRET=your-app-secret
export REDIS_ENTRAID_TENANT_ID=your-tenant-id
export REDIS_URL=redis://your-azure-redis.redis.cache.windows.net:6379
Для приложений, размещенных в Azure, с управляемой идентичностью:
export REDIS_ENTRAID_AUTH_FLOW=managed_identity
export REDIS_ENTRAID_IDENTITY_TYPE=system_assigned
export REDIS_URL=redis://your-azure-redis.redis.cache.windows.net:6379
Существует несколько способов задания переменных среды:
.env:
Поместите файл .env в каталог вашего проекта с парами ключ-значение для каждой переменной среды. Инструменты вроде python-dotenv, pipenv и uv могут автоматически загружать эти переменные при запуске вашего приложения. Это удобный и безопасный способ управления конфигурацией, так как он не хранит конфиденциальные данные в истории оболочки и системе контроля версий (если .env находится в .gitignore).
Например, создайте файл .env со следующим содержимым из файла .env.example, предоставленного в репозитории:cp .env.example .env
Затем отредактируйте файл .env, чтобы установить вашу конфигурацию Redis:
ИЛИ,
export REDIS_HOST=your_redis_host
export REDIS_PORT=6379
# Другие переменные будут заданы аналогично...
Этот полезен для временных переопределений или быстрого тестирования.
Сервер использует стандартное логирование Python и настраивается при запуске. По умолчанию он логирует сообщения уровня WARNING и выше. Вы можете изменить подробность с помощью переменной среды MCP_REDIS_LOG_LEVEL.
DEBUG, INFO, WARNING, ERROR, CRITICAL, NOTSETWARN → WARNING, FATAL → CRITICAL"10", "+20")WARNINGПоведение обработчиков
- Если хост (например, uv, VS Code, pytest) уже установил обработчики для консоли, сервер НЕ будет добавлять свой собственный; он только снижает слишком строгие пороги существующих обработчиков, чтобы ваш выбранный уровень не фильтровался. Он никогда не будет повышать порог обработчика.
- Если обработчики отсутствуют, сервер добавляет один обработчик StreamHandler для stderr с простым форматом.
Примеры
# Просмотр нормальных сообщений жизненного цикла
MCP_REDIS_LOG_LEVEL=INFO uv run src/main.py
# Очень подробный режим для отладки
MCP_REDIS_LOG_LEVEL=DEBUG uvx --from redis-mcp-server@latest redis-mcp-server --url redis://localhost:6379/0
В конфигурациях MCP-клиентов, которые поддерживают переменные среды, добавьте его рядом с вашими настройками Redis. Например:
{
"mcpServers": {
"redis": {
"command": "uvx",
"args": ["--from", "redis-mcp-server@latest", "redis-mcp-server", "--url", "redis://localhost:6379/0"],
"env": {
"REDIS_HOST": "localhost",
"REDIS_PORT": "6379",
"MCP_REDIS_LOG_LEVEL": "INFO"
}
}
}
}
Интеграция этого MCP-сервера в такие фреймворки для разработки, как OpenAI Agents SDK, или с такими инструментами, как Claude Desktop, VS Code или Augment, описана в следующих разделах.
Интегрируйте этот MCP-сервер с OpenAI Agents SDK. Прочитайте документацию, чтобы узнать больше об интеграции SDK с MCP.
Установите Python SDK.
pip install openai-agents
Настройте токен OpenAI:
export OPENAI_API_KEY="<openai_token>"
И запустите приложение.
python3.14 redis_assistant.py
Вы можете отлаживать свои рабочие процессы агента с использованием панели инструментов OpenAI.
Предпочтительный способ настройки Redis MCP Server в Augment — использовать функцию Easy MCP.
Вы также можете вручную настроить Redis MCP Server в Augment, импортировав сервер через JSON:
{
"mcpServers": {
"Redis MCP Server": {
"command": "uvx",
"args": [
"--from",
"redis-mcp-server@latest",
"redis-mcp-server",
"--url",
"redis://localhost:6379/0"
]
}
}
}
Простейший способ настроить MCP-клиенты — использовать uvx. Добавьте следующий JSON в ваш файл claude_desktop_config.json, не забудьте указать полный путь к uvx.
Базовое подключение к Redis:
{
"mcpServers": {
"redis-mcp-server": {
"type": "stdio",
"command": "/Users/mortensi/.local/bin/uvx",
"args": [
"--from", "redis-mcp-server@latest",
"redis-mcp-server",
"--url", "redis://localhost:6379/0"
]
}
}
}
Управляемый Redis Azure с аутентификацией EntraID:
{
"mcpServers": {
"redis-mcp-server": {
"type": "stdio",
"command": "/Users/mortensi/.local/bin/uvx",
"args": [
"--from", "redis-mcp-server@latest",
"redis-mcp-server",
"--url", "redis://your-azure-redis.redis.cache.windows.net:6379"
],
"env": {
"REDIS_ENTRAID_AUTH_FLOW": "default_credential",
"REDIS_ENTRAID_SCOPES": "https://redis.azure.com/.default"
}
}
}
}
Для использования Redis MCP Server с VS Code необходимо включить инструменты режима агента. Добавьте следующее в ваш файл settings.json:
{
"chat.agent.enabled": true
}
Вы можете запустить нужную вам версию Redis MCP Server с помощью uvx, добавив следующий JSON в ваш файл mcp.json:
"servers": {
"redis": {
"type": "stdio",
"command": "uvx",
"args": [
"--from", "redis-mcp-server@latest",
"redis-mcp-server",
"--url", "redis://localhost:6379/0"
]
},
}
Если вы хотите подавить сообщения об установке uvx, которые могут отображаться как предупреждения в журналах клиента MCP, используйте флаг -qq:
"servers": {
"redis": {
"type": "stdio",
"command": "uvx",
"args": [
"-qq",
"--from", "redis-mcp-server@latest",
"redis-mcp-server",
"--url", "redis://localhost:6379/0"
]
},
}
Флаг -qq включает тихий режим, который подавляет сообщения «Installed X packages», которые uvx выводит в stderr во время установки пакетов.
Как альтернатива, вы можете запустить сервер с помощью uv и настроить свой файл mcp.json. Обычно это предпочтительнее для разработки.
// mcp.json
{
"servers": {
"redis": {
"type": "stdio",
"command": "<полный_путь_к_команде_uv>",
"args": [
"--directory",
"<ваша_директория_mcp_сервера>",
"run",
"src/main.py"
],
"env": {
"REDIS_HOST": "<имя_хоста_вашей_базы_данных_redis>",
"REDIS_PORT": "<порт_вашей_базы_данных_redis>",
"REDIS_USERNAME": "<имя_пользователя_вашей_базы_данных_redis>",
"REDIS_PWD": "<пароль_вашей_базы_данных_redis>",
}
}
}
}
Для получения дополнительной информации см. документацию VS Code.
Совет: Вы можете попросить Copilot chat использовать инструменты Redis MCP, включив
#redisв вашем сообщении.Примечание: Начиная с VS Code v1.102, Серверы MCP теперь хранятся в отдельном файле
mcp.jsonвместоsettings.json.
Вы можете использовать MCP Inspector для визуальной отладки этого MCP-сервера.
npx @modelcontextprotocol/inspector uv run src/main.py
feature-branch)Этот проект лицензирован по лицензии MIT.
По вопросам или в целях поддержки обращайтесь через GitHub Issues.
Как альтернатива, вы можете присоединиться к серверу Redis в Discord и задать вопрос в канале #redis-mcp-server.