AIクライアントをクラスターに接続するように MCP サーバーを構成する必要があります。その後、 AIクライアントを使用してクラスター操作を実行できます。
このページでは、 AIクライアントの互換性、MCP Server の構成方法、トラブルシューティング、MCP Server ツールとテレメトリを無効にする方法について説明します。
AIクライアントの互換性
MCP サーバーは、MCP をサポートする多くのAIクライアントと互換性があります。例、次のAIクライアントを使用できます。
JSON構成ファイルの構造は、 AIクライアントごとに異なる場合があります。詳細については、 AIクライアントのドキュメントを参照してください。
前提条件
MCP Server ソフトウェア前提条件で指定されているソフトウェアがすでにインストールされていることを確認してください。
MCP サーバーは、Atlas のさまざまな操作を実行する Atlas ツールを実行できます。Atlas ツールを実行するには、Atlas クラスターに適切な権限を持つサービス アカウントが必要です。
サービス アカウントを設定するには、「 Atlas ツールを実行するためのMongoDB MCP Server の前提条件 」を参照してください。
ツールのリストについては、 「 MongoDB MCP Server ツール 」を参照してください。
MCP サーバー構成オプション
MCP Server には、クラスターに接続し、MCP Server の操作を制御するために設定できるさまざまなオプションがあります。オプションは、 JSON構成ファイル、コマンドライン、またはオペレーティング システムの環境変数で設定できます。
次の表は、MCP サーバーの構成オプションを示しています。
CLI オプション名 | OS 環境変数名 | タイプ | default | 説明 |
|---|---|---|---|---|
|
| string | 設定されていません。 | 認証用の Atlas APIクライアントID 。 |
|
| string | 設定されていません。 | 認証用の Atlas APIクライアントシークレット |
|
| string | 設定されていません。 | データベースに直接接続するための 接続文字列 。 実行時に接続文字列を設定して、クライアントがクラスターに直接接続できるようにします。 注意通常、接続資格情報を大規模言語モデルに公開するため、実行時に接続文字列を提供することは避けます。 接続文字列は、クライアントが以前に接続したことがない場合、またはクライアントが以前に接続されていた場合はクライアントが新しいクラスターに接続を切り替えた場合に使用されます。 クライアントが接続ツールまたはスイッチ接続ツールを呼び出すと、クライアントは後続の操作で同じ接続を再利用します。したがって、別の接続に切り替える必要がある場合は、connect または switch 接続ツールを 1 回だけ呼び出す必要があります。 |
|
| string |
| MCP サーバーがログを送信する場所を指定します。
例、 AIクライアントのJSON構成ファイルまたはオペレーティング システムのコマンドラインで
ロギング オプションの詳細については、 MCP サーバーのトラブルシューティング を参照してください。 |
|
| string | オペレーティング システムによって異なります | MCP サーバー ログを保存するディレクトリ。 ログパスとオペレーティング システムの詳細については、「 MCP サーバーのトラブルシューティング 」を参照してください。 |
|
| 配列 | 設定されていません。 | 無効にする MCP ツール名、操作タイプ、またはツール カテゴリの配列。 詳細については、「 MCP Server Tools を無効にする 」を参照してください。 |
|
| ブール値 |
| クラスター書き込み操作を無効にするには、構成ファイルまたはコマンドラインで デフォルトでは、クラスター書込み (write) 操作が許可されています。通常は、常に読み取り専用モードを有効にします。 詳細については、MCP サーバーの読み取り専用モードの有効化 を参照してください。 |
|
| ブール値 |
|
詳細については、「 インデックス チェックの有効化 」を参照してください。 |
|
| string |
|
詳細については、「 MCP サーバー テレメトリを無効にする 」を参照してください。 |
|
| string |
| MCP サーバーとの通信のためのトランスポートプロトコル。
|
|
| integer |
| MCP サーバーとのHTTP通信のIPポート番号。 |
|
| string |
| MCP サーバーとのHTTP通信のIPアドレス。 |
|
| integer |
| クライアントが切断するためのアイドル タイムアウト。 HTTPトランスポートにのみ適用されます。 |
|
| integer |
| クライアントが切断を認識するための通知タイムアウト。 HTTPトランスポートにのみ適用されます。 |
MCP サーバー構成メソッド
MCP サーバーを構成するには、次のいずれかの方法を使用します。
MCP サーバー オプションを含むJSON構成ファイル
コマンドライン オプション
オペレーティング システムの環境変数
MCP サーバーは、Atlas API認証情報または接続文字列を使用してクラスターにアクセスします。
MCP サーバー クラスターの接続メソッドとオプション
クラスターに接続し、その他の MCP サーバー オプションを設定するように MCP サーバーを構成するには、このセクションで説明されている方法を使用します。
注意
MCP Server構成ファイルの例には、データへの読み取り専用アクセスを確保するために --readOnly が含まれています。通常は、データ変更を防ぐために読み取り専用モードを有効にします。
書込み操作を有効にするには、 を省略するか、オペレーティング --readOnlyシステムの環境変数MDB_MCP_READ_ONLY を に設定します。詳細については、「 MCPfalse サーバーの読み取り専用モードの有効化 」を参照してください。
MCP Server構成ファイルの例では、typeフィールドを "stdio" に設定しています。
type 次のいずれかに設定できます。
"stdio"は、MCP サーバーとの通信に標準の入力と出力を使用します。stdioはほとんどのAIクライアントに適しています。通常はstdioを使用します。"http"、これにより MCP サーバーとのHTTP通信が可能になります。その後、 HTTPを使用して、Webクライアントから MCP Server とやり取りできるようになります。警告
HTTP は、認証とセキュリティを実装せずに本番環境で使用することは推奨されません。
MCP Server構成ファイルの例では、MCP サーバー名も "MongoDB" に設定されています。 MCP サーバーの起動後に、サーバー名を MCP サーバーの名前と一致するように変更できます。サーバー名は、 AIクライアントに対して MCP サーバーを識別します。
Atlas API認証情報による接続
「Atlas ツールを実行するためのMongoDB MCP Server の前提条件」で取得した Atlas API認証情報を使用して、Atlas クラスターに接続できます。
注意
次のセクションで示すように、セキュリティ上の理由で Atlas API の認証情報を使用したくない場合は、 MongoDB接続文字列を使用して Atlas クラスターに接続することもできます。
Atlas API認証情報に接続するには、 AIクライアントのJSON構成ファイルの "args" セクションで apiClientId オプションと apiClientSecret オプションを設定します。
... "args": [ "-y", "mongodb-mcp-server", "--apiClientId", "<atlas-service-accounts-client-id>", "--apiClientSecret", "<atlas-service-accounts-client-secret>", "--readOnly" ] ...
AIクライアントの完全なJSON構成ファイルの例については、 「 MongoDB MCP サーバーを使い始める 」を参照してください。
クラスター接続文字列を使用した接続
セキュリティ上の理由など、Atlas API の認証情報を使用したくない場合は、 MongoDB接続文字列を使用してクラスターに接続できます。
次の例では、"args"セクションの Atlas クラスターに接続するための connectionString を示しています。
... "args": [ "-y", "mongodb-mcp-server", "--connectionString", "mongodb+srv://<user-name>:<password>@<cluster-name>.mongodb.net/", "--readOnly" ] ...
<user-name>、<password>、<cluster-name> を Atlas の情報に置き換えます。
接続文字列を使用してローカルクラスターに接続することもできます。 (例: )。
... "args": [ "-y", "mongodb-mcp-server", "--connectionString", "mongodb://127.0.0.1:27019/?directConnection=true", "--readOnly" ] ...
MCP サーバー環境変数の定義
MCP サーバーのさまざまな構成オプションを設定するための環境変数を定義できます。
MCP サーバーのオペレーティング システム環境変数を定義するには、プレフィックス MDB_MCP_ と、それに続く大文字と小文字の変数名とアンダースコアを使用します。例、MDB_MCP_CONNECTION_STRING を使用して connectionString オプションを設定します。
オプションのリストについては、「 MCP サーバー構成オプション 」を参照してください。
オペレーティング システムでの環境変数の定義
次の例は、Unix ベースのオペレーティング システムで MCP Server 環境変数を定義する方法を示しています。
# Set Atlas API credentials for a service account export MDB_MCP_API_CLIENT_ID="<atlas-service-accounts-client-id>" export MDB_MCP_API_CLIENT_SECRET="<atlas-service-accounts-client-secret>" # Set a MongoDB connection string export MDB_MCP_CONNECTION_STRING="mongodb+srv://testUsername:testPassword@testCluster.mongodb.net/testDatabase" # Change the MCP Server log path from the default export MDB_MCP_LOG_PATH="/mcp/logs"
次の例では、 Windowsコマンドラインで を使用して同じ変数を設定します。
:: Set Atlas API credentials for a service account set MDB_MCP_API_CLIENT_ID=<atlas-service-accounts-client-id> set MDB_MCP_API_CLIENT_SECRET=<atlas-service-accounts-client-secret> :: Set a MongoDB connection string set MDB_MCP_CONNECTION_STRING="mongodb+srv://testUsername::testPassword@testCluster.mongodb.net/testDatabase" :: Change the MCP Server log path from the default set MDB_MCP_LOG_PATH="C:\mcp\logs"
次の例では、 Windows PowerShell セッションで同じ変数を設定します。
# Set Atlas API credentials for a service account $env:MDB_MCP_API_CLIENT_ID="<atlas-service-accounts-client-id>" $env:MDB_MCP_API_CLIENT_SECRET="<atlas-service-accounts-client-secret>" # Set a MongoDB connection string $env:MDB_MCP_CONNECTION_STRING="mongodb+srv://testUsername::testPassword@testCluster.mongodb.net/testDatabase" # Change the MCP Server log path from the default $env:MDB_MCP_LOG_PATH="C:\mcp\logs"
構成ファイルでの接続文字列環境変数の定義
次の例は、 JSON構成ファイルの "env" セクションで接続文字列環境変数を定義する方法を示しています。
... "args": ["-y", "mongodb-mcp-server"], "env": { "MDB_MCP_CONNECTION_STRING": "mongodb+srv://<user-name>:<password>@<cluster-name>.mongodb.net/testDatabase" } ...
<user-name>、<password>、<cluster-name> を Atlas の情報に置き換えます。
構成ファイルでの Atlas API環境変数の定義
次の例は、 JSON構成ファイルの "env" セクションで Atlas API環境変数を定義する方法を示しています。
... "args": ["-y", "mongodb-mcp-server"], "env": { "MDB_MCP_API_CLIENT_ID": "<atlas-service-accounts-client-id>", "MDB_MCP_API_CLIENT_SECRET": "<atlas-service-accounts-client-secret>" } ...
MCP サーバーの読み取り専用モードの有効化
読み取り専用モードを使用して、MCP サーバーを読み取り操作のみを実行するように制限できます。
デフォルトでは、クラスター書込み (write) 操作が許可されています。通常は、常に読み取り専用モードを有効にします。
コマンドラインオプションを使用して読み取り専用モードを有効にするには、次のコマンドを使用します。
--readOnly
環境変数を使用して読み取り専用モードを有効にするには、MDB_MCP_READ_ONLY 環境変数を true に設定します。
export MDB_MCP_READ_ONLY=true
読み取り専用モードを有効にすると、書込み (write) 操作を実行するツールが の実行中を防止していることを示すメッセージが MCP サーバーログに追加されます。
MCP サーバーのトラブルシューティング
MCP Server に問題がある場合は、問題のトラブルシューティングに役立つ情報については、 MCP Server ログ を確認してください。
デフォルトでは 、MCP サーバーはログをディスクに書込み、 MCPクライアントにもログを送信します。loggers オプションを変更して、ログが送信される場所を指定できます。 MCP サーバー オプションの詳細については、「 MCP サーバー構成オプション 」を参照してください。
次の表は、MCP サーバーがログファイルを保存するデフォルトのディレクトリを示しています。
オペレーティング システム | デフォルトのログディレクトリ |
|---|---|
Windows |
|
macOS と Linux |
|
必要に応じて、ログパスは変更できます。そのためには、次のいずれかを設定します。
logPathJSON構成ファイルまたはコマンドラインでの オプションMDB_MCP_LOG_PATH環境変数
MCP Server ツールの無効化
Atlas およびデータベース操作へのアクセスを制限するには、特定の MCP Server ツールまたはツールのカテゴリを無効にします。
ツールを無効にするには、文字列の配列である disabledTools MCP Server 構成オプションを設定します。各文字列は、ツール名またはツールカテゴリにすることができます。
次の表は、無効にできるツール名を示しています。
ツール名 | 説明 | 無効な例の操作 |
|---|---|---|
| リソースの作成 |
|
| 更新リソース |
|
| リソースの削除 |
|
| リソースを読む |
|
| メタデータの読み取り |
|
次の表は、無効にできるツールカテゴリを示しています。
ツールカテゴリ | 説明 | 無効な例の操作 |
|---|---|---|
| Atlas ツール |
|
| データベース ツール |
|
disabledToolsコマンドラインオプションを使用してツールを無効にするには、スペース区切りのリストを使用します。 (例: )。
--disabledTools create update delete atlas
MDB_MCP_DISABLED_TOOLS 環境変数を使用してツールを無効にするには、カンマ区切りの文字列を使用します。 (例: )。
export MDB_MCP_DISABLED_TOOLS="create,update,delete,atlas"
MCP サーバー テレメトリの無効化
MCP サーバーが使用状況に関するデータを収集しないようにするには、テレメトリを無効にします。
環境変数を使用してテレメトリを無効にするには、次のいずれかを設定します。
export MDB_MCP_TELEMETRY=disabled export DO_NOT_TRACK=1
コマンドラインオプションを使用してテレメトリを無効にするには、次のコマンドを使用します。
--telemetry disabled
インデックスチェックの有効化
クエリ操作でインデックスが使用されるようにするには、インデックスチェック オプションを有効にします。有効にすると、MCPサーバーはコレクションスキャンを実行してパフォーマンスを向上させ、クエリが最適化されるようにするクエリを拒否します。
コマンドラインオプションを使用してインデックスチェックを有効にするには、次を使用します。
--indexCheck
環境変数を使用してインデックスチェックを有効にするには、次のコマンドを使用します。
export MDB_MCP_INDEX_CHECK=true
インデックスチェックを有効にすると、インデックスを 使用していないためにクエリが拒否された場合 、MCPサーバーはエラー メッセージをログに記録します。