Model Context Protocol (MCP) позволяет AI-агенту самому смотреть структуру базы, выполнять запросы и помогать с оптимизацией — без копирования документов в чат. Для NoSQL это особенно полезно: схема гибкая, и проще показать агенту реальные документы, чем описывать их словами. Ниже — MCP-серверы для MongoDB, Redis, DynamoDB и Cassandra, их настройка и правила безопасности.
Названия пакетов, флаги и наборы инструментов у MCP-серверов меняются часто. Конфигурации ниже — отправная точка; перед установкой сверьтесь с README в репозитории.
Почему MCP особенно полезен для NoSQL
В MongoDB документы одной коллекции могут иметь разную структуру, в Redis — разные типы данных под разными ключами, в Cassandra схема строится от запросов. Описать это агенту в чате сложнее, чем показать DDL реляционной базы.
С MCP агент сам выбирает примеры документов, видит индексы и делает запросы. Вместо «у меня коллекция users с такими-то полями» он просто смотрит. Если вы выбираете между типами хранилищ, начните со статьи что такое NoSQL.
MongoDB: официальный MCP-сервер
Обзор
У MongoDB есть официальный MCP-сервер: репозиторий github.com/mongodb-js/mongodb-mcp-server, npm-пакет mongodb-mcp-server. Работает с self-hosted MongoDB и с Atlas.
Что умеет
Операции с данными:
findиaggregate— запросы и aggregation pipeline;- вставка, обновление и удаление документов;
- режим только чтения (флаг
--readOnly).
Работа со структурой:
- список баз и коллекций;
- схема коллекции по выборке документов;
- просмотр и создание индексов.
Atlas (при наличии учётных данных сервисного аккаунта Atlas API):
- просмотр и управление кластерами, пользователями баз и списками доступа;
- набор Atlas-инструментов зависит от версии сервера — проверьте README.
Настройка
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": ["-y", "mongodb-mcp-server@latest", "--readOnly"],
"env": {
"MDB_MCP_CONNECTION_STRING": "mongodb+srv://mcp-reader:password@cluster.example.net/dbname"
}
}
}
}
С инструментами Atlas добавьте переменные сервисного аккаунта:
{
"env": {
"MDB_MCP_CONNECTION_STRING": "mongodb+srv://...",
"MDB_MCP_API_CLIENT_ID": "your-atlas-client-id",
"MDB_MCP_API_CLIENT_SECRET": "your-atlas-client-secret"
}
}
Claude Code:
claude mcp add mongodb \
-e MDB_MCP_CONNECTION_STRING="mongodb://mcp-reader:password@localhost:27017/app" \
-- npx -y mongodb-mcp-server@latest --readOnly
Практические сценарии
— Покажи схему коллекции orders и пример документа.
— Найди заказы со статусом "pending" и суммой больше 10000.
— Какие индексы есть в products? Нет ли избыточных?
— Напиши aggregation pipeline для выручки по месяцам.
Когда MongoDB уместна, а когда лучше реляционная база, — в статье что такое MongoDB и когда её использовать.
Redis: официальные серверы и Upstash
mcp-redis
Репозиторий: github.com/redis/mcp-redis. Официальный сервер Redis на Python для работы с данными внутри инстанса:
- строки, хэши, списки, множества, sorted sets, streams;
- JSON-документы (если доступен модуль JSON);
- векторный поиск (если доступен модуль поиска, например в Redis Stack);
- управление ключами и TTL.
Запуск обычно через uvx; точную команду и параметры подключения смотрите в README:
{
"mcpServers": {
"redis": {
"command": "uvx",
"args": [
"--from", "redis-mcp-server@latest",
"redis-mcp-server",
"--url", "redis://localhost:6379/0"
]
}
}
}
Для Redis с паролем используйте URL вида redis://user:password@host:6379/0, а лучше — отдельного пользователя через ACL с ограниченным набором команд и ключей.
mcp-redis-cloud
Отдельный официальный сервер Redis (github.com/redis/mcp-redis-cloud) для управления ресурсами Redis Cloud: подписками, базами, планами. С данными внутри баз он не работает. Нужен ключ API Redis Cloud; способ установки — в README.
Upstash MCP
Upstash выпускает свой MCP-сервер для управления serverless Redis в Upstash через их Developer API: создание баз, просмотр метрик, выполнение команд. Подключение требует email аккаунта и API-ключ Upstash. Актуальное имя пакета и аргументы смотрите в документации Upstash — они менялись между версиями.
Сравнение вариантов для Redis
| Параметр | mcp-redis | mcp-redis-cloud | Upstash MCP | |---|---|---|---| | Работа с данными | Да | Нет | Да, через API Upstash | | Управление инфраструктурой | Нет | Да (Redis Cloud) | Да (Upstash) | | Self-hosted Redis | Да | Нет | Нет |
Перед тем как открывать Redis агенту, проверьте базовую защиту инстанса — см. статью уязвимости Redis.
DynamoDB: серверы AWS Labs
Репозиторий: github.com/awslabs/mcp. В нём десятки MCP-серверов для сервисов AWS.
DynamoDB MCP Server (awslabs.dynamodb-mcp-server) в актуальных версиях сфокусирован на проектировании модели данных: помогает собрать access patterns, предлагает ключи партиций и сортировки, GSI и структуру таблиц. Для операций с самими таблицами AWS рекомендует общий AWS API MCP Server (awslabs.aws-api-mcp-server), который выполняет вызовы AWS CLI с правами вашего профиля.
{
"mcpServers": {
"aws-api": {
"command": "uvx",
"args": ["awslabs.aws-api-mcp-server@latest"],
"env": {
"AWS_PROFILE": "mcp-readonly",
"AWS_REGION": "eu-central-1"
}
},
"dynamodb-modeling": {
"command": "uvx",
"args": ["awslabs.dynamodb-mcp-server@latest"],
"env": {
"AWS_PROFILE": "mcp-readonly",
"AWS_REGION": "eu-central-1"
}
}
}
}
Используйте профиль с IAM-политикой только на чтение, а не ключи администратора в конфиге.
Пример запроса:
— Спроектируй DynamoDB-таблицу для e-commerce: пользователи, заказы, товары.
Основные запросы: заказы пользователя, заказы по статусу, товары в заказе.
Cassandra
Официального MCP-сервера от Apache Cassandra нет. Варианты:
- CData MCP Server for Apache Cassandra — коммерческий вендор CData выпускает MCP-серверы для множества источников на основе своих драйверов; для Cassandra это в первую очередь чтение данных. Условия и ограничения смотрите на сайте CData.
- Community-серверы на GitHub — несколько небольших проектов дают выполнять CQL-запросы. Проверяйте активность и код перед установкой: такие серверы получают прямой доступ к кластеру.
- Для DataStax Astra DB есть сервер от DataStax — уточняйте актуальное состояние в их репозитории.
В production подключайте MCP к Cassandra только под ролью с правами на чтение нужного keyspace.
Сводная таблица
| NoSQL | Сервер | Официальный | Read-only | Управление инфраструктурой |
|---|---|---|---|---|
| MongoDB | mongodb-mcp-server | Да | Флаг --readOnly | Atlas |
| Redis | mcp-redis | Да | Через ACL пользователя | Нет |
| Redis Cloud | mcp-redis-cloud | Да | — | Да |
| Upstash | Upstash MCP | Да | — | Да |
| DynamoDB | awslabs.dynamodb-mcp-server + aws-api | Да (AWS Labs) | Через IAM | Через AWS API |
| Cassandra | CData / community | Нет | Через роль в кластере | Нет |
Безопасность в production
Минимальные привилегии. Отдельный пользователь базы для MCP, для аналитики — только чтение.
// MongoDB: пользователь только для чтения
db.createUser({
user: "mcp-reader",
pwd: "strong-password",
roles: [{ role: "read", db: "production_db" }]
})
# Redis: ACL-пользователь только для чтения ключей с префиксом app:
redis-cli ACL SETUSER mcp-reader on '>strong-password' '~app:*' '+@read' '-@dangerous'
Никаких admin-учётных данных в конфигурации MCP. Особенно для production.
Разделяйте окружения. Для разработки подключайте агента к dev-копии или staging с синтетическими данными.
Секреты — в переменных окружения или менеджере секретов, а не в репозитории.
Аудит. Включите журналирование запросов на стороне базы (profiler в MongoDB, MONITOR/slowlog в Redis только кратковременно) — это поможет разобрать инцидент.
Несколько NoSQL-баз одновременно
Типичная связка — MongoDB для документов и Redis для кэша и сессий. Подключите оба сервера:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": ["-y", "mongodb-mcp-server@latest", "--readOnly"],
"env": { "MDB_MCP_CONNECTION_STRING": "mongodb+srv://..." }
},
"redis": {
"command": "uvx",
"args": ["--from", "redis-mcp-server@latest", "redis-mcp-server", "--url", "redis://localhost:6379/0"]
}
}
}
Агент увидит инструменты обоих серверов: «Данные пользователя в MongoDB, сессии в Redis — покажи, что закэшировано для пользователя 123».
Резервное копирование NoSQL
Если у агента есть права на запись, бэкап должен быть настроен до первой сессии. У каждой NoSQL-системы свои штатные инструменты — используйте их.
MongoDB — mongodump в архив и mongorestore для восстановления:
# Полный дамп реплика-сета с oplog для согласованного снимка
mongodump --uri="mongodb://backup:password@host:27017/?replicaSet=rs0" \
--oplog --gzip --archive=/var/backups/mongo-$(date +%F).archive.gz
# Восстановление на тестовом сервере
mongorestore --uri="mongodb://localhost:27017" \
--oplogReplay --gzip --archive=/var/backups/mongo-2026-10-06.archive.gz --drop
--oplog работает только при дампе всего инстанса реплика-сета (без --db). В Atlas используйте встроенные облачные бэкапы.
Redis — снимки RDB и/или журнал AOF:
# Снять RDB с удалённого инстанса в локальный файл
redis-cli -h redis.internal -a "$REDIS_PASSWORD" --rdb /var/backups/redis-$(date +%F).rdb
На самом сервере можно выполнить BGSAVE и забрать dump.rdb после того, как изменится LASTSAVE. AOF (appendonly yes) уменьшает потерю данных при сбое, но копию всё равно нужно уносить с сервера.
DynamoDB — point-in-time recovery и on-demand backups в самом AWS. Cassandra — nodetool snapshot на каждом узле плюс копирование снимков во внешнее хранилище.
Копии уносите с сервера в объектное хранилище и регулярно проверяйте восстановление на тестовом окружении — как это организовать, описано в статье как проверить, что бэкап рабочий.
dbsend не поддерживает MongoDB, Redis и другие NoSQL как движки: он не подключается к ним, не запускает mongodump и не проверяет содержимое таких дампов. Готовый архив можно загрузить только как generic_file — сервис сохранит его версии и контрольную сумму, но не заглянет внутрь. Полноценная поддержка у dbsend есть для SQLite, DuckDB и SQL-дампов PostgreSQL и MySQL; про работу с бэкапами через MCP — в статье бэкапы базы через MCP из Claude Code и Cursor.
Частые вопросы
Безопасно ли давать агенту write-доступ к MongoDB?
Только с ограниченным пользователем, ручным подтверждением операций и свежим бэкапом. Для production начинайте с --readOnly и роли read; запись разрешайте в dev-окружении.
Работает ли официальный MongoDB MCP без Atlas?
Да. Операции с данными, индексами и коллекциями работают с любой MongoDB: self-hosted, в Docker или в Atlas. Atlas-инструменты требуют учётных данных Atlas API.
Поддерживает ли mcp-redis векторный поиск?
Да, если в вашем Redis доступен модуль поиска (например, в Redis Stack или Redis 8 с встроенными модулями). Без него доступны только базовые структуры данных.
Нужно ли перезапускать Claude или Cursor после изменения конфигурации MCP?
Для Claude Desktop и Cursor — да, конфигурация читается при запуске. В Claude Code проверить состояние серверов можно командой /mcp.
Можно ли использовать несколько MCP-серверов одновременно?
Да. Агент получает инструменты всех подключённых серверов и может комбинировать их в одном диалоге.
Что делать, если MCP-сервер не подключается?
Проверьте логи клиента (Claude Desktop на macOS: ~/Library/Logs/Claude/mcp*.log), строку подключения, права пользователя и сетевую доступность базы. Попробуйте запустить сервер той же командой в терминале — так видны ошибки запуска.



