Docs Menu
Docs Home
/
MongoDB MCP サーバー

MongoDB MCP サーバー構成

AIクライアントをクラスターに接続するように MCP サーバーを構成する必要があります。その後、 AIクライアントを使用してクラスター操作を実行できます。

このページでは、 AIクライアントの互換性、MCP Server の構成方法、トラブルシューティング、MCP Server ツールとテレメトリを無効にする方法について説明します。

MCP サーバーは、MCP をサポートする多くのAIクライアントと互換性があります。例、次のAIクライアントを使用できます。

JSON構成ファイルの構造は、 AIクライアントごとに異なる場合があります。詳細については、 AIクライアントのドキュメントを参照してください。

MCP Server ソフトウェア前提条件で指定されているソフトウェアがすでにインストールされていることを確認してください。

MCP サーバーは、Atlas のさまざまな操作を実行する Atlas ツールを実行できます。Atlas ツールを実行するには、Atlas クラスターに適切な権限を持つサービス アカウントが必要です。

サービス アカウントを設定するには、「 Atlas ツールを実行するためのMongoDB MCP Server の前提条件 」を参照してください。

ツールのリストについては、 「 MongoDB MCP Server ツール 」を参照してください。

MCP Server には、クラスターに接続し、MCP Server の操作を制御するために設定できるさまざまなオプションがあります。オプションは、 JSON構成ファイル、コマンドライン、またはオペレーティング システムの環境変数で設定できます。

次の表は、MCP サーバーの構成オプションを示しています。

CLI オプション名
OS 環境変数名
タイプ
default
説明

apiClientId

MDB_MCP_API_CLIENT_ID

string

設定されていません。

認証用の Atlas APIクライアントID 。

apiClientSecret

MDB_MCP_API_CLIENT_SECRET

string

設定されていません。

認証用の Atlas APIクライアントシークレット

connectionString

MDB_MCP_CONNECTION_STRING

string

設定されていません。

データベースに直接接続するための 接続文字列 。

実行時に接続文字列を設定して、クライアントがクラスターに直接接続できるようにします。

注意

通常、接続資格情報を大規模言語モデルに公開するため、実行時に接続文字列を提供することは避けます。

接続文字列は、クライアントが以前に接続したことがない場合、またはクライアントが以前に接続されていた場合はクライアントが新しいクラスターに接続を切り替えた場合に使用されます。

クライアントが接続ツールまたはスイッチ接続ツールを呼び出すと、クライアントは後続の操作で同じ接続を再利用します。したがって、別の接続に切り替える必要がある場合は、connect または switch 接続ツールを 1 回だけ呼び出す必要があります。

loggers

MDB_MCP_LOGGERS

string

disk mcp

MCP サーバーがログを送信する場所を指定します。

loggers を次のオプションの 1 つ以上に設定します。

  • diskは、logPath オプションで指定されたパスにあるディスク ファイルにログを書込みます。

  • mcpは、クライアントがロギング および トランスポートプロトコルをサポートしている場合、 AIクライアントにログを送信します。

  • stderrは、ログを標準エラー出力に送信します。この設定は、デバッグやコンテナで MCP を実行中場合に便利です。

例、 AIクライアントのJSON構成ファイルまたはオペレーティング システムのコマンドラインで loggersmcp および stderr に設定するには、--loggers mcp stderr を使用します。

MDB_MCP_LOGGERS オペレーティング システムの環境変数を diskstderr に設定するには、export MDB_MCP_LOGGERS="disk,stderr" を使用します。

ロギング オプションの詳細については、 MCP サーバーのトラブルシューティング を参照してください。

logPath

MDB_MCP_LOG_PATH

string

オペレーティング システムによって異なります

MCP サーバー ログを保存するディレクトリ。

ログパスとオペレーティング システムの詳細については、「 MCP サーバーのトラブルシューティング 」を参照してください。

disabledTools

MDB_MCP_DISABLED_TOOLS

配列

設定されていません。

無効にする MCP ツール名、操作タイプ、またはツール カテゴリの配列。

詳細については、「 MCP Server Tools を無効にする 」を参照してください。

readOnly

MDB_MCP_READ_ONLY

ブール値

false

クラスター書き込み操作を無効にするには、構成ファイルまたはコマンドラインで --readOnly を設定するか、MDB_MCP_READ_ONLY オペレーティング システムの環境変数を true に設定します。

デフォルトでは、クラスター書込み (write) 操作が許可されています。通常は、常に読み取り専用モードを有効にします。

詳細については、MCP サーバーの読み取り専用モードの有効化 を参照してください。

indexCheck

MDB_MCP_INDEX_CHECK

ブール値

false

true の場合、クエリ操作ではインデックスを使用する必要があり、コレクションスキャンを実行するクエリは拒否されます。

詳細については、「 インデックス チェックの有効化 」を参照してください。

telemetry

MDB_MCP_TELEMETRY

string

enabled

disabled の場合、MCP サーバーの使用状況データコレクションは停止されます。

詳細については、「 MCP サーバー テレメトリを無効にする 」を参照してください。

transport

MDB_MCP_TRANSPORT

string

stdio

MCP サーバーとの通信のためのトランスポートプロトコル。

transport を次のいずれかのオプションに設定します。

  • stdioは、デフォルトの です。 MCP サーバーとの通信に標準入力と標準出力を使用します。 stdio はほとんどのAIクライアントに適しています。

  • http、これにより MCP サーバーとのHTTP通信が可能になります。その後、 HTTPを使用して、Webクライアントから MCP Server と交流したり、特定のHTTP IPポートで MCP Server と通信したりできるようになります。

    警告

    HTTPトランスポートは、適切な認証とセキュリティ対策を実装せず、本番環境での使用には推奨されません。

httpPort

MDB_MCP_HTTP_PORT

integer

3000

MCP サーバーとのHTTP通信のIPポート番号。

httpHost

MDB_MCP_HTTP_HOST

string

127.0.0.1

MCP サーバーとのHTTP通信のIPアドレス。

idleTimeoutMs

MDB_MCP_IDLE_TIMEOUT_MS

integer

600000

クライアントが切断するためのアイドル タイムアウト。 HTTPトランスポートにのみ適用されます。

notificationTimeoutMs

MDB_MCP_NOTIFICATION_TIMEOUT_MS

integer

540000

クライアントが切断を認識するための通知タイムアウト。 HTTPトランスポートにのみ適用されます。

MCP サーバーを構成するには、次のいずれかの方法を使用します。

  • MCP サーバー オプションを含むJSON構成ファイル

  • コマンドライン オプション

  • オペレーティング システムの環境変数

MCP サーバーは、Atlas API認証情報または接続文字列を使用してクラスターにアクセスします。

クラスターに接続し、その他の 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 ツールを実行するための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 サーバーのオペレーティング システム環境変数を定義するには、プレフィックス 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 の情報に置き換えます。

次の例は、 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 サーバーを読み取り操作のみを実行するように制限できます。

デフォルトでは、クラスター書込み (write) 操作が許可されています。通常は、常に読み取り専用モードを有効にします。

コマンドラインオプションを使用して読み取り専用モードを有効にするには、次のコマンドを使用します。

--readOnly

環境変数を使用して読み取り専用モードを有効にするには、MDB_MCP_READ_ONLY 環境変数を true に設定します。

export MDB_MCP_READ_ONLY=true

読み取り専用モードを有効にすると、書込み (write) 操作を実行するツールが の実行中を防止していることを示すメッセージが MCP サーバーログに追加されます。

MCP Server に問題がある場合は、問題のトラブルシューティングに役立つ情報については、 MCP Server ログ を確認してください。

デフォルトでは 、MCP サーバーはログをディスクに書込み、 MCPクライアントにもログを送信します。loggers オプションを変更して、ログが送信される場所を指定できます。 MCP サーバー オプションの詳細については、「 MCP サーバー構成オプション 」を参照してください。

次の表は、MCP サーバーがログファイルを保存するデフォルトのディレクトリを示しています。

オペレーティング システム
デフォルトのログディレクトリ

Windows

%LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs

macOS と Linux

~/.mongodb/mongodb-mcp/.app-logs

必要に応じて、ログパスは変更できます。そのためには、次のいずれかを設定します。

  • logPath JSON構成ファイルまたはコマンドラインでの オプション

  • MDB_MCP_LOG_PATH 環境変数

Atlas およびデータベース操作へのアクセスを制限するには、特定の MCP Server ツールまたはツールのカテゴリを無効にします。

ツールを無効にするには、文字列の配列である disabledTools MCP Server 構成オプションを設定します。各文字列は、ツール名またはツールカテゴリにすることができます。

次の表は、無効にできるツール名を示しています。

ツール名
説明
無効な例の操作

create

リソースの作成

  • クラスターの作成

  • ドキュメントを挿入

update

更新リソース

  • Update document

  • コレクションの名前を変更

delete

リソースの削除

  • ドキュメントの削除

  • コレクションの削除

read

リソースを読む

  • find

  • 集計

  • クラスターを一覧表示する

metadata

メタデータの読み取り

  • データベースを一覧表示する

  • コレクションの一覧化

  • コレクションスキーマの読み取り

次の表は、無効にできるツールカテゴリを示しています。

ツールカテゴリ
説明
無効な例の操作

atlas

Atlas ツール

  • クラスターを一覧表示する

  • クラスターの作成

mongodb

データベース ツール

  • find

  • 集計

disabledToolsコマンドラインオプションを使用してツールを無効にするには、スペース区切りのリストを使用します。 (例: )。

--disabledTools create update delete atlas

MDB_MCP_DISABLED_TOOLS 環境変数を使用してツールを無効にするには、カンマ区切りの文字列を使用します。 (例: )。

export MDB_MCP_DISABLED_TOOLS="create,update,delete,atlas"

MCP サーバーが使用状況に関するデータを収集しないようにするには、テレメトリを無効にします。

環境変数を使用してテレメトリを無効にするには、次のいずれかを設定します。

export MDB_MCP_TELEMETRY=disabled
export DO_NOT_TRACK=1

コマンドラインオプションを使用してテレメトリを無効にするには、次のコマンドを使用します。

--telemetry disabled

クエリ操作でインデックスが使用されるようにするには、インデックスチェック オプションを有効にします。有効にすると、MCPサーバーはコレクションスキャンを実行してパフォーマンスを向上させ、クエリが最適化されるようにするクエリを拒否します。

コマンドラインオプションを使用してインデックスチェックを有効にするには、次を使用します。

--indexCheck

環境変数を使用してインデックスチェックを有効にするには、次のコマンドを使用します。

export MDB_MCP_INDEX_CHECK=true

インデックスチェックを有効にすると、インデックスを 使用していないためにクエリが拒否された場合 、MCPサーバーはエラー メッセージをログに記録します。

戻る

前提条件