mongodb-mcp-server
MongoDB MCP Server
Сервер Model Context Protocol для взаимодействия с базами данных MongoDB и MongoDB Atlas.
📚 Содержание
Предварительные требования
Node.js (v20.10.0 или новее)
node -vСтрока подключения MongoDB или учетные данные Atlas API, сервер не запустится без настройки.
Для использования инструментов Atlas требуются учетные данные Atlas API для сервисных учетных записей. Вы можете создать сервисную учетную запись в MongoDB Atlas и использовать ее учетные данные для аутентификации. Подробнее см. в разделе Доступ к Atlas API.
Если у вас есть строка подключения MongoDB, вы можете использовать ее напрямую для подключения к вашему экземпляру MongoDB.
Настройка
Быстрый старт
Примечание: При использовании учетных данных Atlas API обязательно назначьте сервисной учетной записи только минимально необходимые разрешения. Подробнее см. в разделе Разрешения Atlas API.
Большинство MCP-клиентов требуют создания или изменения файла конфигурации для добавления MCP-сервера.
Примечание: Синтаксис файла конфигурации может отличаться в разных клиентах. Обратитесь к следующим ссылкам для получения актуального ожидаемого синтаксиса:
VSCode: https://code.visualstudio.com/docs/copilot/chat/mcp-servers
Claude Desktop: https://modelcontextprotocol.io/quickstart/user
Cursor: https://docs.cursor.com/context/model-context-protocol
Вариант 1: Аргументы строки подключения
Вы можете передать строку подключения через аргументы, убедитесь, что используете действительные имя пользователя и пароль.
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server",
"--connectionString",
"mongodb://localhost:27017/myDatabase"
]
}
}
}ПРИМЕЧАНИЕ: Строка подключения может быть настроена для подключения к любому кластеру MongoDB, будь то локальный экземпляр или кластер Atlas.
Вариант 2: Аргументы учетных данных Atlas API
Используйте учетные данные сервисных учетных записей Atlas API. Необходимо выполнить все шаги из раздела Доступ к Atlas API.
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server",
"--apiClientId",
"your-atlas-service-accounts-client-id",
"--apiClientSecret",
"your-atlas-service-accounts-client-secret"
]
}
}
}Вариант 3: Автономный сервис с использованием аргументов командной строки
Запустите сервер с помощью команды npx:
npx -y mongodb-mcp-server --apiClientId="your-atlas-service-accounts-client-id" --apiClientSecret="your-atlas-service-accounts-client-secret"Полный список аргументов см. в разделе Параметры конфигурации
Для настройки учетных данных сервисных учетных записей Atlas обратитесь к разделу Доступ к Atlas API
Вариант 4: Автономный сервис с использованием переменных окружения
npx -y mongodb-mcp-serverВы можете использовать переменные окружения в файле конфигурации или задать их и запустить сервер через npx.
Строка подключения через переменные окружения в MCP-файле пример
Учетные данные Atlas API через переменные окружения в MCP-файле пример
Вариант 5: Использование Docker
Вы можете запустить MongoDB MCP Server в контейнере Docker, что обеспечивает изоляцию и не требует локальной установки Node.js.
Запуск с переменными окружения
Вы можете указать либо строку подключения MongoDB, ЛИБО учетные данные Atlas API:
Вариант A: Без конфигурации
docker run --rm -i \
mongodb/mongodb-mcp-server:latestВариант B: Со строкой подключения MongoDB
docker run --rm -i \
-e MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" \
mongodb/mongodb-mcp-server:latestВариант C: С учетными данными Atlas API
docker run --rm -i \
-e MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id" \
-e MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret" \
mongodb/mongodb-mcp-server:latestDocker в файле конфигурации MCP
Без параметров:
{
"mcpServers": {
"MongoDB": {
"command": "docker",
"args": ["run", "--rm", "-i", "mongodb/mongodb-mcp-server:latest"]
}
}
}Со строкой подключения:
{
"mcpServers": {
"MongoDB": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"MDB_MCP_CONNECTION_STRING=mongodb+srv://username:password@cluster.mongodb.net/myDatabase",
"mongodb/mongodb-mcp-server:latest"
]
}
}
}С учетными данными Atlas API:
{
"mcpServers": {
"MongoDB": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"MDB_MCP_API_CLIENT_ID=your-atlas-service-accounts-client-id",
"-e",
"MDB_MCP_API_CLIENT_SECRET=your-atlas-service-accounts-client-secret",
"mongodb/mongodb-mcp-server:latest"
]
}
}
}🛠️ Поддерживаемые инструменты
Список инструментов
Инструменты MongoDB Atlas
atlas-list-orgs- Список организаций MongoDB Atlasatlas-list-projects- Список проектов MongoDB Atlasatlas-create-project- Создает новый проект MongoDB Atlasatlas-list-clusters- Список кластеров MongoDB Atlasatlas-inspect-cluster- Проверка конкретного кластера MongoDB Atlasatlas-create-free-cluster- Создание бесплатного кластера MongoDB Atlasatlas-connect-cluster- Подключение к кластеру MongoDB Atlasatlas-inspect-access-list- Проверка диапазонов IP/CIDR с доступом к кластерам MongoDB Atlasatlas-create-access-list- Настройка списка доступа IP/CIDR для кластеров MongoDB Atlasatlas-list-db-users- Список пользователей баз данных MongoDB Atlasatlas-create-db-user- Создание пользователя базы данных MongoDB Atlasatlas-list-alerts- Список оповещений MongoDB Atlas для проекта
ПРИМЕЧАНИЕ: Инструменты atlas доступны только при указании учетных данных в разделе конфигурация.
Инструменты баз данных MongoDB
connect- Подключение к экземпляру MongoDBfind- Выполнение запроса find к коллекции MongoDBaggregate- Выполнение агрегации по коллекции MongoDBcount- Получение количества документов в коллекции MongoDBinsert-one- Вставка одного документа в коллекцию MongoDBinsert-many- Вставка нескольких документов в коллекцию MongoDBcreate-index- Создание индекса для коллекции MongoDBupdate-one- Обновление одного документа в коллекции MongoDBupdate-many- Обновление нескольких документов в коллекции MongoDBrename-collection- Переименование коллекции MongoDBdelete-one- Удаление одного документа из коллекции MongoDBdelete-many- Удаление нескольких документов из коллекции MongoDBdrop-collection- Удаление коллекции из базы данных MongoDBdrop-database- Удаление базы данных MongoDBlist-databases- Список всех баз данных для подключения MongoDBlist-collections- Список всех коллекций для заданной базы данныхcollection-indexes- Описание индексов для коллекцииcollection-schema- Описание схемы для коллекцииcollection-storage-size- Получение размера коллекции в МБdb-stats- Возврат статистики о базе данных MongoDB
Конфигурация
MongoDB MCP Server можно настроить несколькими способами, со следующим приоритетом (от высшего к низшему):
Аргументы командной строки
Переменные окружения
Параметры конфигурации
Параметр | Описание |
| Идентификатор клиента Atlas API для аутентификации. Требуется для запуска инструментов Atlas. |
| Секрет клиента Atlas API для аутентификации. Требуется для запуска инструментов Atlas. |
| Строка подключения MongoDB для прямых подключений к базе данных. Необязательно; если не задано, вам нужно будет вызвать инструмент |
| Папка для хранения журналов. |
| Массив имен инструментов, типов операций и/или категорий инструментов, которые будут отключены. |
| Если задано значение true, разрешает только операции чтения и метаданных, отключая операции создания/обновления/удаления. |
| Если задано значение disabled, отключает сбор телеметрии. |
Путь к журналу
Расположение журнала по умолчанию следующее:
Windows:
%LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logsmacOS/Linux:
~/.mongodb/mongodb-mcp/.app-logs
Отключенные инструменты
Вы можете отключить конкретные инструменты или категории инструментов, используя опцию disabledTools. Эта опция принимает массив строк, где каждая строка может быть именем инструмента, типом операции или категорией.
Способ построения массива зависит от типа используемого метода конфигурации:
Для конфигурации через переменную окружения используйте строку, разделённую запятыми:
export MDB_MCP_DISABLED_TOOLS="create,update,delete,atlas,collectionSchema".Для конфигурации через аргумент командной строки используйте строку, разделённую пробелами:
--disabledTools create update delete atlas collectionSchema.
Категории инструментов:
atlas- Инструменты MongoDB Atlas, такие как list clusters, create cluster и т. д.mongodb- Инструменты базы данных MongoDB, такие как find, aggregate и т. д.
Типы операций:
create- Инструменты, создающие ресурсы, такие как create cluster, insert document и т. д.update- Инструменты, обновляющие ресурсы, такие как update document, rename collection и т. д.delete- Инструменты, удаляющие ресурсы, такие как delete document, drop collection и т. д.read- Инструменты, читающие ресурсы, такие как find, aggregate, list clusters и т. д.metadata- Инструменты, читающие метаданные, такие как list databases, list collections, collection schema и т. д.
Режим только для чтения
Параметр конфигурации readOnly позволяет ограничить MCP-сервер использованием только инструментов с типами операций "read" и "metadata". Когда он включён, все инструменты с типами операций "create", "update" или "delete" не будут зарегистрированы на сервере.
Это полезно для сценариев, где вы хотите предоставить доступ к данным MongoDB для анализа, не допуская никаких изменений данных или инфраструктуры.
Вы можете включить режим только для чтения, используя:
Переменная окружения:
export MDB_MCP_READ_ONLY=trueАргумент командной строки:
--readOnly
Когда режим только для чтения активен, вы увидите сообщение в журналах сервера, указывающее, какие инструменты не были зарегистрированы из-за этого ограничения.
Телеметрия
Параметр конфигурации telemetry позволяет отключить сбор телеметрии. Когда он включён, MCP-сервер будет собирать данные об использовании и отправлять их в MongoDB.
Вы можете отключить телеметрию, используя:
Переменная окружения:
export MDB_MCP_TELEMETRY=disabledАргумент командной строки:
--telemetry disabledПеременная окружения DO_NOT_TRACK:
export DO_NOT_TRACK=1
Доступ к Atlas API
Чтобы использовать инструменты Atlas API, вам нужно создать сервисный аккаунт в MongoDB Atlas:
ℹ️ Примечание: Подробную информацию о минимально необходимых разрешениях для каждой операции Atlas см. в разделе Разрешения Atlas API ниже.
Создайте сервисный аккаунт:
Войдите в MongoDB Atlas на cloud.mongodb.com
Перейдите в Access Manager > Organization Access
Нажмите Add New > Applications > Service Accounts
Введите имя, описание и срок действия для вашего сервисного аккаунта (например, "MCP, MCP Server Access, 7 дней")
Назначьте только минимальные разрешения, необходимые для вашего случая использования.
См. Разрешения Atlas API для подробностей.
Нажмите "Create"
Чтобы узнать больше о сервисных аккаунтах, ознакомьтесь с документацией MongoDB Atlas.
Сохраните учётные данные клиента:
После создания вам будут показаны Client ID и Client Secret
Важно: Скопируйте и сохраните Client Secret немедленно, так как он больше не будет показан
Добавьте запись в список доступа:
Добавьте ваш IP-адрес в список доступа к API
Настройте MCP-сервер:
Используйте один из методов конфигурации ниже, чтобы задать ваши
apiClientIdиapiClientSecret
Разрешения Atlas API
Предупреждение о безопасности: Предоставление роли Organization Owner редко необходимо и может быть риском для безопасности. Назначайте только минимальные разрешения, необходимые для вашего случая использования.
Краткий справочник: требуемые роли для каждой операции
Что вы хотите сделать | Самая безопасная роль для назначения (где) |
Список организаций/проектов | Org Member или Org Read Only (Org) |
Создание новых проектов | Org Project Creator (Org) |
Просмотр кластеров/баз данных в проекте | Project Read Only (Project) |
Создание/управление кластерами в проекте | Project Cluster Manager (Project) |
Управление списками доступа проекта | Project IP Access List Admin (Project) |
Управление пользователями базы данных | Project Database Access Admin (Project) |
Предпочитайте роли уровня проекта для большинства операций. Назначайте их только на конкретные проекты, которыми вам нужно управлять или которые нужно просматривать.
Избегайте Organization Owner, если вам не требуется полный административный контроль над всеми проектами и настройками в организации.
Полный список ролей и их привилегий см. в документации по ролям пользователей Atlas.
Методы конфигурации
Переменные окружения
Установите переменные окружения с префиксом MDB_MCP_, за которым следует имя опции в верхнем регистре с подчёркиваниями:
# Set Atlas API credentials (via Service Accounts)
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
# Set a custom MongoDB connection string
export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
export MDB_MCP_LOG_PATH="/path/to/logs"
Примеры файлов конфигурации MCP
Строка подключения с переменными окружения
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": ["-y", "mongodb-mcp-server"],
"env": {
"MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
}
}
}
}Учётные данные Atlas API с переменными окружения
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": ["-y", "mongodb-mcp-server"],
"env": {
"MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
"MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
}
}
}
}Аргументы командной строки
Передавайте параметры конфигурации как аргументы командной строки при запуске сервера:
npx -y mongodb-mcp-server --apiClientId="your-atlas-service-accounts-client-id" --apiClientSecret="your-atlas-service-accounts-client-secret" --connectionString="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" --logPath=/path/to/logsПримеры файлов конфигурации MCP
Строка подключения с аргументами командной строки
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server",
"--connectionString",
"mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
]
}
}
}Учётные данные Atlas API с аргументами командной строки
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server",
"--apiClientId",
"your-atlas-service-accounts-client-id",
"--apiClientSecret",
"your-atlas-service-accounts-client-secret"
]
}
}
}🤝 Вклад в проект
Заинтересованы в участии? Отлично! Пожалуйста, ознакомьтесь с нашим Руководством по участию для получения рекомендаций по вкладу в код, стандартам, добавлению новых инструментов и информации по устранению неполадок.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rajath-raman/mongodb-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server