MCP MongoDB Server (kiliczsh)
MCP MongoDB Server
MCP-сервер дает агенту запросы, агрегации и запись в MongoDB и запускается одной командой npx без установки
- 283 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- По умолчанию без --read-only дает агенту вставку, обновление и создание индексов в реальной базе MongoDB
- Строка подключения содержит учетные данные базы и передается как аргумент команды или переменная окружения
- Флаги --allow-cross-db и --allow-server-js снимают защиту от выхода за пределы базы и выполнения произвольного кода на сервере MongoDB
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/mcp-mongodb-serverОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- По умолчанию без --read-only дает агенту вставку, обновление и создание индексов в реальной базе MongoDB
- Строка подключения содержит учетные данные базы и передается как аргумент команды или переменная окружения
- Флаги --allow-cross-db и --allow-server-js снимают защиту от выхода за пределы базы и выполнения произвольного кода на сервере MongoDB
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
MCP MongoDB Server подключает агента к MongoDB без установки пакета. Команда `npx -y mcp-mongo-server` со строкой подключения поднимает сервер, который определяет схему коллекций по образцам документов. Через MCP агент получает запросы, агрегации и операции записи. Флаг `--read-only` закрывает все пути записи: вставку, обновление, создание индекса и стадии агрегации `$out` и `$merge`. Независимо от него по умолчанию выключены агрегации за пределами базы из строки подключения и операторы серверного JavaScript вроде `$function` и `$where`, которые выполняют код на сервере MongoDB. Оба ограничения снимаются флагами `--allow-cross-db` и `--allow-server-js`. Помощник convertTime приводит Unix-время и даты к одному формату, чтобы запросы по датам не расходились по часовым поясам. По умолчанию сервер работает локально через stdio. Флаг `--transport http` поднимает HTTP-эндпоинт для удаленного доступа. В этом режиме сервер принимает запросы без браузерного заголовка Origin или от источников из списка `--allowed-origins`, остальным отвечает 403, и это защищает от атаки «DNS rebinding».
Для кого. Для разработчиков, которые хотят дать Claude Desktop, Cursor или другому MCP-клиенту доступ к своей базе MongoDB.
Подходит, если
- Нужно быстро подключить агента к MongoDB одной командой npx без постоянной установки пакета
- Агенту можно только читать и исследовать коллекции
- Нужны агрегации с планом выполнения через `explain` для разбора медленных запросов
- База лежит в Atlas, реплика-сете или шардированном кластере, по обычному или TLS-соединению
- Нужен удаленный доступ по HTTP для нескольких клиентов с ограничением списка разрешенных источников
Не подходит, если
- Нужен официальный MongoDB MCP-сервер от вендора: в каталоге есть отдельная запись MongoDB MCP Server от самой MongoDB
- Нужна база не на MongoDB: сервер работает только с ней
- Нужен удаленный доступ с обязательной авторизацией из коробки: токен для HTTP-режима по умолчанию выключен
Пример запроса к агенту
Подключись к базе mydatabase в режиме только для чтения и покажи схему коллекции `orders` по образцу документовMCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Переменные окружения
MCP_MONGODB_URIсекрет- Строка подключения MongoDB вместо аргумента командной строки
MCP_MONGODB_READONLY- Включает режим только для чтения ("true")
MCP_HTTP_AUTH_TOKENсекрет- Токен Bearer для доступа к HTTP-эндпоинту
Ограничения
Сервер защищает базу только на уровне приложения. Поэтому для агента лучше завести учетную запись MongoDB с правами на одну нужную базу, а если запись не нужна, то только на чтение. Агрегации, которые пишут данные или выполняют серверный JavaScript, блокируются и в режиме только чтения. HTTP-режим ограничивает размер тела запроса настройкой `--json-limit`, по умолчанию 10 МБ. Нужен Node.js 20 или новее.
Как отключить. Остановите процесс сервера (Ctrl+C или закройте терминал) и удалите запись о нем из конфигурации MCP-клиента. Постоянной установки нет, если сервер запускался через npx.
Частые вопросы
Как запустить MCP MongoDB Server без установки?
Выполните `npx -y mcp-mongo-server mongodb://localhost:27017/mydatabase`. Пакет скачается и запустится сразу, отдельный шаг установки не нужен.
Как дать доступ только на чтение?
Передайте флаг `--read-only` или переменную окружения `MCP_MONGODB_READONLY=true`. Сервер заблокирует вставку, обновление, создание индекса и агрегации, которые пишут данные или запускают серверный JavaScript.
Как подключиться к серверу удаленно?
Добавьте `--transport http --port 3001`, чтобы поднять HTTP-эндпоинт на /mcp. Круг клиентов ограничивают списком `--allowed-origins`.
Как сервер превращает строки в ObjectId MongoDB?
Настройка преобразования строкового идентификатора задается значением `auto`, `none` или `force`. В режиме `auto` сервер сам определяет 24-символьный шестнадцатеричный идентификатор и превращает его в ObjectId, в `none` преобразование выключено, а в `force` оно применяется всегда.
Можно ли передать строку подключения через переменную окружения?
Да, переменная MCP_MONGODB_URI задает строку подключения вместо аргумента командной строки. Отдельные переменные MCP_MONGODB_ALLOW_CROSS_DB и MCP_MONGODB_ALLOW_SERVER_JS включают выход за пределы базы и серверный JavaScript.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыОфициальный MCP-сервер MongoDB: запросы и агрегации к базам, управление индексами, кластерами Atlas и локальными развертываниями
DB MCP Server
db-mcp-server
Сервер MCP для нескольких баз данных с защитой: режим только чтения по каждой базе и ограничение числа строк. Написан на Go, запуск в Docker
MCP-сервер для доступа агента к MySQL: чтение схемы и запросы, по умолчанию только на чтение, запись включается флагами
MCP SQLite Server (npx)
MCP SQLite Server
MCP-сервер для работы с базой SQLite на Node.js, запускается через npx без Python и uvx
MOEX MCP сервер с кэшем и повторами
MOEX MCP сервер
Опубликованный в npm MCP-сервер ISS Мосбиржи с 10 инструментами, SQLite-кэшем и отказоустойчивыми повторами запросов
MCP-сервер на Python для работы с MySQL: список таблиц, чтение данных, выполнение SQL и разбор схемы через контролируемый интерфейс
Коротко о README
README начинается с демо-видео подключения через Claude Desktop и перечня поддерживаемых развертываний MongoDB. Дальше идут команды быстрого старта для stdio и HTTP, таблица флагов и переменных и раздел о границах защиты на уровне базы и приложения.