MongoDB MCP Server

Official
by mongodb-js
Apache 2.0
1,930
136
  • Apple
  • Linux
Integrations
  • Enables GitHub Copilot to interact with MongoDB databases through the MCP server, allowing natural language queries and operations against MongoDB resources.

  • Provides tools for interacting with MongoDB Atlas resources and databases, supporting operations like querying, aggregation, document creation/modification, collection management, index creation, and database administration.

MongoDB MCP-сервер

Сервер Model Context Protocol для взаимодействия с базами данных MongoDB и MongoDB Atlas.

📚 Содержание

Предпосылки

  • Node.js (v20.10.0 или более поздняя версия)
node -v
  • Строка подключения MongoDB или учетные данные API Atlas. Сервер не запустится, если не настроен .
    • Учетные записи служб Для использования инструментов Atlas требуются учетные данные API Atlas. Вы можете создать учетную запись службы в MongoDB Atlas и использовать ее учетные данные для аутентификации. Подробнее см. в разделе Доступ к API Atlas .
    • Если у вас есть строка подключения MongoDB, вы можете использовать ее напрямую для подключения к вашему экземпляру MongoDB.

Настраивать

Быстрый старт

Большинству клиентов MCP требуется создать или изменить файл конфигурации для добавления сервера MCP.

Примечание: Синтаксис файла конфигурации может отличаться в зависимости от клиента. Пожалуйста, обратитесь к следующим ссылкам для получения последнего ожидаемого синтаксиса:

Вариант 1: Аргументы строки подключения

Вы можете передать строку подключения через args, обязательно используйте действительные имя пользователя и пароль.

{ "mcpServers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--connectionString", "mongodb://localhost:27017/myDatabase" ] } } }

ПРИМЕЧАНИЕ: Строку подключения можно настроить для подключения к любому кластеру MongoDB, будь то локальный экземпляр или кластер Atlas.

Вариант 2: Аргументы учетных данных API Atlas

Используйте учетные данные Atlas API Service Accounts. Необходимо выполнить все шаги в разделе Atlas API Access .

{ "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"
Вариант 4: Автономная служба с использованием переменных среды
npx -y mongodb-mcp-server

Вы можете использовать переменные среды в файле конфигурации или задать их и запустить сервер через npx.

  • Строка подключения через переменные среды в примере файла MCP
  • Учетные данные API Atlas через переменные среды в примере файла MCP

🛠️ Поддерживаемые инструменты

Список инструментов

Инструменты MongoDB Atlas
  • atlas-list-orgs - Списки организаций MongoDB Atlas
  • atlas-list-projects - Списки проектов MongoDB Atlas
  • atlas-create-project — создает новый проект MongoDB Atlas
  • atlas-list-clusters — список кластеров MongoDB Atlas
  • atlas-inspect-cluster — проверка определенного кластера MongoDB Atlas
  • atlas-create-free-cluster — создание бесплатного кластера MongoDB Atlas
  • atlas-connect-cluster — подключается к кластеру MongoDB Atlas
  • atlas-inspect-access-list — проверка диапазонов IP/CIDR с доступом к кластерам MongoDB Atlas
  • atlas-create-access-list — настройка списка доступа IP/CIDR для кластеров MongoDB Atlas
  • atlas-list-db-users — список пользователей базы данных MongoDB Atlas
  • atlas-create-db-user — создает пользователя базы данных MongoDB Atlas
  • atlas-list-alerts — список оповещений MongoDB Atlas для проекта

ПРИМЕЧАНИЕ: инструменты Atlas доступны только при установке учетных данных в разделе конфигурации .

Инструменты базы данных MongoDB
  • connect — подключение к экземпляру MongoDB
  • find — выполнить поисковый запрос по коллекции MongoDB.
  • aggregate — запуск агрегации для коллекции MongoDB.
  • count — получить количество документов в коллекции MongoDB
  • insert-one — вставка одного документа в коллекцию MongoDB
  • insert-many — вставка нескольких документов в коллекцию MongoDB
  • create-index — создание индекса для коллекции MongoDB
  • update-one — обновление одного документа в коллекции MongoDB
  • update-many — обновление нескольких документов в коллекции MongoDB
  • rename-collection — переименование коллекции MongoDB
  • delete-one — удаление одного документа из коллекции MongoDB
  • delete-many — удаление нескольких документов из коллекции MongoDB
  • drop-collection — удаление коллекции из базы данных MongoDB
  • drop-database — удаление базы данных MongoDB
  • list-databases — список всех баз данных для соединения MongoDB
  • list-collections — список всех коллекций для заданной базы данных
  • collection-indexes - Опишите индексы для коллекции
  • collection-schema — Опишите схему для коллекции
  • collection-storage-size - Получить размер коллекции в МБ
  • db-stats — возвращает статистику о базе данных MongoDB

Конфигурация

Сервер MongoDB MCP можно настроить несколькими способами со следующим приоритетом (от высшего к низшему):

  1. Аргументы командной строки
  2. Переменные среды

Параметры конфигурации

ВариантОписание
apiClientIdИдентификатор клиента API Atlas для аутентификации
apiClientSecretСекретный ключ клиента API Atlas для аутентификации
connectionStringСтрока подключения MongoDB для прямого подключения к базе данных (по желанию пользователи могут информировать об этом при каждом вызове инструмента)
logPathПапка для хранения журналов
disabledToolsМассив названий инструментов, типов операций и/или категорий инструментов, которые будут отключены
readOnlyЕсли установлено значение true, разрешены только операции чтения и метаданных, отключены операции создания/обновления/удаления.
telemetryЕсли установлено значение «Отключено», отключает сбор телеметрии.
Путь журнала

Расположение журнала по умолчанию следующее:

  • Windows: %LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs
  • macOS/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, такие как список кластеров, создание кластера и т. д.
  • mongodb — инструменты базы данных MongoDB, такие как поиск, агрегация и т. д.

Типы операций:

  • create - Инструменты, которые создают ресурсы, такие как создание кластера, вставка документа и т. д.
  • update — инструменты, обновляющие ресурсы, такие как обновление документа, переименование коллекции и т. д.
  • delete - инструменты, которые удаляют ресурсы, такие как удаление документа, удаление коллекции и т. д.
  • read — инструменты для чтения ресурсов, такие как поиск, агрегация, составление списка кластеров и т. д.
  • metadata — инструменты, которые считывают метаданные, такие как базы данных списков, коллекции списков, схемы коллекций и т. д.
Режим «Только чтение»

Параметр конфигурации 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

Доступ к API Атласа

Чтобы использовать инструменты API Atlas, вам необходимо создать учетную запись службы в MongoDB Atlas:

  1. Создайте учетную запись службы:
    • Войдите в MongoDB Atlas по адресу cloud.mongodb.com
    • Перейдите в Диспетчер доступа > Доступ к организации.
    • Нажмите Добавить новый > Приложения > Учетные записи служб.
    • Введите имя, описание и срок действия вашей учетной записи службы (например, «MCP, доступ к серверу MCP, 7 дней»).
    • Выберите соответствующие разрешения (для полного доступа используйте «Владелец организации»).
    • Нажмите «Создать»

Дополнительную информацию об учетных записях служб см. в документации MongoDB Atlas .

  1. Сохранить учетные данные клиента:
    • После создания вам будут показаны идентификатор клиента и секретный код клиента.
    • Важно: немедленно скопируйте и сохраните секретный код клиента, поскольку он больше не будет отображаться.
  2. Добавить запись в список доступа:
    • Добавьте свой IP-адрес в список доступа API
  3. Настройте MCP-сервер:
    • Используйте один из методов настройки ниже, чтобы задать apiClientId и apiClientSecret

Методы конфигурации

Переменные среды

Задайте переменные среды с префиксом 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" } } } }
Учетные данные API Atlas с переменными среды
{ "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" ] } } }
Учетные данные API Atlas с аргументами командной строки
{ "mcpServers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--apiClientId", "your-atlas-service-accounts-client-id", "--apiClientSecret", "your-atlas-service-accounts-client-secret" ] } } }

🤝 Вклад

Хотите внести свой вклад? Отлично! Пожалуйста, ознакомьтесь с нашим Руководством по внесению вклада для получения рекомендаций по внесению вклада в код, стандартов, добавления новых инструментов и информации по устранению неполадок.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Сервер Model Context Protocol, который позволяет помощникам с искусственным интеллектом взаимодействовать с ресурсами MongoDB Atlas с помощью естественного языка, поддерживая операции с базой данных и функции управления Atlas.

  1. 📚 Содержание
    1. Предпосылки
      1. Настраивать
        1. Быстрый старт
        2. Вариант 3: Автономная служба с использованием аргументов команды
      2. 🛠️ Поддерживаемые инструменты
        1. Список инструментов
      3. Конфигурация
        1. Параметры конфигурации
        2. Доступ к API Атласа
        3. Методы конфигурации
      4. 🤝 Вклад

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that provides read-only access to MongoDB databases, enabling AI assistants to directly query and analyze MongoDB data while maintaining data safety.
          Last updated -
          14
          9
          2
          JavaScript
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          An MCP server that enables users to create and manage MongoDB Atlas clusters, users, and network access through natural language commands.
          Last updated -
          74
          10
          JavaScript
          MIT License
          • Apple
          • Linux
        • -
          security
          A
          license
          -
          quality
          An MCP server that enables large language models to interact directly with MongoDB databases, allowing them to query collections, inspect schemas, and manage data through natural language.
          Last updated -
          340
          MIT License
          • Apple
        • -
          security
          -
          license
          -
          quality
          A Model Context Protocol server that enables AI models to interact with both MySQL and MongoDB databases through a standardized interface, supporting comprehensive database operations including queries, schema management, and CRUD operations.
          Last updated -
          6
          JavaScript
          MIT License

        View all related MCP servers

        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/mongodb-js/mongodb-mcp-server'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server