MongoDB MCP Server

Official
by mongodb-js
Apache 2.0
303
14
  • 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 サーバー

MongoDB データベースおよび MongoDB Atlas と対話するためのモデル コンテキスト プロトコル サーバー。

📚 目次

前提条件

  • Node.js (v20以降)
node -v
  • MongoDB 接続文字列または Atlas API 資格情報。設定しない限りサーバーは起動しません
    • Atlasツールを使用するには、 Atlas API認証情報が必要です。MongoDB Atlasでサービスアカウントを作成し、その認証情報を認証に使用できます。詳細はAtlas APIアクセスをご覧ください。
    • MongoDB 接続文字列がある場合は、それを使用して MongoDB インスタンスに直接接続できます。

設定

クイックスタート

ほとんどの MCP クライアントでは、MCP サーバーを追加するために構成ファイルを作成または変更する必要があります。

オプション1: 接続文字列引数

接続文字列を args 経由で渡すことができます。必ず有効なユーザー名とパスワードを使用してください。

{ "servers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--connectionString", "mongodb+srv://username:password@cluster.mongodb.net/myDatabase" ] } } }
オプション 2: Atlas API 資格情報引数

Atlas APIサービスアカウントの認証情報を使用してください。詳細はAtlas APIアクセスセクションをご覧ください。

{ "servers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--apiClientId", "your-atlas-client-id", "--apiClientSecret", "your-atlas-client-secret" ] } } }
その他のオプション

あるいは、設定ファイルで環境変数を使用したり、環境変数を設定して npx 経由でサーバーを実行したりすることもできます。

  • MCP ファイルのにおける環境変数経由の接続文字列
  • MCP ファイルのにおける環境変数経由の Atlas API 資格情報

🛠️ サポートされているツール

ツールリスト

MongoDB アトラスツール
  • 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 - MongoDB Atlas クラスターへのアクセス権を持つ IP/CIDR 範囲を検査します
  • atlas-create-access-list - MongoDB Atlas クラスターの IP/CIDR アクセス リストを構成する
  • atlas-list-db-users - MongoDB Atlas データベース ユーザーの一覧を表示します
  • atlas-create-db-user - MongoDB 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 コレクションから 1 つのドキュメントを削除します
  • delete-many - MongoDB コレクションから複数のドキュメントを削除する
  • drop-collection - MongoDBデータベースからコレクションを削除する
  • drop-database - MongoDB データベースを削除する
  • list-databases - MongoDB 接続のすべてのデータベースを一覧表示します
  • list-collections - 指定されたデータベースのすべてのコレクションを一覧表示する
  • collection-indexes - コレクションのインデックスを記述する
  • collection-schema - コレクションのスキーマを記述する
  • collection-storage-size - コレクションのサイズをMB単位で取得する
  • db-stats - MongoDB データベースに関する統計情報を返す

構成

MongoDB MCP サーバーは、次の優先順位 (最高から最低) に従って複数の方法を使用して構成できます。

  1. コマンドライン引数
  2. 環境変数

設定オプション

オプション説明
apiClientId認証用の Atlas API クライアント ID
apiClientSecret認証用の Atlas API クライアント シークレット
connectionString直接データベース接続用の MongoDB 接続文字列 (オプションでユーザーはツール呼び出しごとにこれを通知することを選択できます)
logPathログを保存するフォルダ
disabledTools無効にするツール名、操作タイプ、および/またはツールのカテゴリの配列
readOnlytrueに設定すると、読み取りとメタデータ操作タイプのみが許可され、作成/更新/削除操作は無効になります。
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 サーバーが「読み取り」および「メタデータ」操作タイプのツールのみを使用するように制限できます。有効にすると、「作成」、「更新」、「削除」操作タイプのツールはすべてサーバーに登録されなくなります。

これは、データやインフラストラクチャを変更せずに、分析のために 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 アクセス

Atlas API ツールを使用するには、MongoDB Atlas でサービス アカウントを作成する必要があります。

  1. サービス アカウントを作成します。
    • cloud.mongodb.comで MongoDB Atlas にログインします。
    • アクセスマネージャ > 組織アクセスに移動します
    • 「新規追加」>「アプリケーション」>「サービスアカウント」をクリックします。
    • サービス アカウントの名前、説明、有効期限を入力します (例:「MCP、MCP サーバー アクセス、7 日間」)
    • 適切な権限を選択します(フルアクセスの場合は、組織の所有者を使用します)
    • 「作成」をクリック

サービス アカウントの詳細については、 MongoDB Atlas のドキュメントを参照してください。

  1. クライアント資格情報を保存します:
    • 作成後、クライアントIDとクライアントシークレットが表示されます。
    • **重要:**クライアントシークレットは再度表示されないため、すぐにコピーして保存してください。
  2. アクセス リスト エントリを追加します (オプションですが推奨されます):
    • APIアクセスリストにIPアドレスを追加する
  3. MCP サーバーを構成します。
    • 以下のいずれかの設定方法を使用して、 apiClientIdapiClientSecretを設定します。

設定方法

環境変数

環境変数を、 MDB_MCP_というプレフィックスに続けて大文字とアンダースコアのオプション名を付けて設定します。

# Set Atlas API credentials export MDB_MCP_API_CLIENT_ID="your-atlas-client-id" export MDB_MCP_API_CLIENT_SECRET="your-atlas-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 構成ファイルの例
環境変数を使用した接続文字列
{ "servers": { "MongoDB": { "command": "npx", "args": ["-y", "mongodb-mcp-server"], "env": { "MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:password@cluster.mongodb.net/myDatabase" } } } }
環境変数を使用した Atlas API 資格情報
{ "servers": { "MongoDB": { "command": "npx", "args": ["-y", "mongodb-mcp-server"], "env": { "MDB_MCP_API_CLIENT_ID": "your-atlas-client-id", "MDB_MCP_API_CLIENT_SECRET": "your-atlas-client-secret" } } } }
コマンドライン引数

サーバーの起動時に、構成オプションをコマンドライン引数として渡します。

npx -y mongodb-mcp-server --apiClientId="your-atlas-client-id" --apiClientSecret="your-atlas-client-secret" --connectionString="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" --logPath=/path/to/logs
MCP 構成ファイルの例
コマンドライン引数を使用した接続文字列
{ "servers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--connectionString", "mongodb+srv://username:password@cluster.mongodb.net/myDatabase" ] } } }
コマンドライン引数を使用した Atlas API 認証情報
{ "servers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--apiClientId", "your-atlas-client-id", "--apiClientSecret", "your-atlas-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.

AI アシスタントが自然言語を通じて MongoDB Atlas リソースと対話できるようにし、データベース操作と Atlas 管理機能をサポートするモデル コンテキスト プロトコル サーバー。

  1. 📚 Table of Contents
    1. Prerequisites
      1. Setup
        1. Quick Start
      2. 🛠️ Supported Tools
        1. Tool List
      3. Configuration
        1. Configuration Options
        2. Atlas API Access
        3. Configuration Methods
      4. 🤝 Contributing

        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 -
          254
          2
          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

        ID: o13w6dioja