自然言語でMongoDBを操作!MongoDB MCP ServerでAIアシスタントとデータベース操作してみた

メディア統括本部 サービスリライアビリティグループ(SRG)の小林(@berlinbytes)です。
#SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。
本記事は、AIを活用して自然言語でMongoDBを操作できる新ツール「MongoDB MCP Server」のセットアップ方法と使用例を解説し、開発効率を向上させる方法を紹介するものです。

はじめに


近年、大規模言語モデル(LLM)やAIエージェントの進化は目覚ましく、ソフトウェア開発のあり方を大きく変えようとしています。
そのような状況の中、MongoDBはAIを活用した開発を加速させるための新しいツール「MongoDB Model Context Protocol (MCP) Server」のパブリックプレビューを発表しました。
 
この記事では、MongoDB MCP Serverがどのようなもので、何ができるのかを、セットアップから具体的な使用例まで交えて検証・紹介します。

MongoDB MCP Serverとは


MongoDB MCP Serverは、AIツールやアシスタントがMongoDBと対話するための公式な実装です。
これにより、開発者は使い慣れたAI搭載エディタやチャットインターフェースから、自然言語を使ってMongoDBのデータを検索したり、データベースを管理したりすることができるようになります。
MongoDB Atlas、Community Edition、Enterprise Advancedなど、あらゆるMongoDBデプロイメントに対応しているのが特徴です。

必要なもの


MCPサーバーを利用するには、以下の準備が必要です。
  • MongoDB Atlasクラスター または セルフホスト型のMongoDBデプロイメント
  • サポートされているMCPクライアント(例: Visual Studio Code, Windsurf, Cursor, Claude Desktopなど)
  • Node.js (バージョン 20.10.0 以降)

セットアップ手順


ここでは、MongoDB AtlasとCursorを連携させるパターンを例に、セットアップ手順を解説します。
公式の手順はこちらです。

1. Atlas サービスアカウントの作成

MCPサーバーがAtlasの管理タスク(クラスターの作成など)を実行するために、適切な権限を持つサービスアカウントが必要です。
  1. MongoDB Atlasにログインし、「Access Manager」から「Organization Access」を選択します。
  1. 「Add New」から「Service Account」をクリックし、アカウントに名前を付け必要な権限を割り当てます。必要な操作に応じたロール(例: )を付与してください。
  1. 作成後表示されたを安全な場所に保存します。
  1. 「Network Access」で、MCPサーバーを実行するマシンのIPアドレスからのアクセスを許可しておきます。

2. MCPサーバーの設定

次に、MCPクライアント側でサーバーの設定を行います。
Cursorの場合、設定ファイル()に以下のようなJSONを追記します。
設定後Cursorを起動すると、ChatなどのAI機能からMongoDBを操作できるようになります。

実際に使ってみる


セットアップが完了したら、AIクライアントから自然言語でプロンプトを投げてみましょう。
試しに、公式の導入手順にあるプロンプトをそのまま入力してみます。
「test」データベースに、「products」コレクションが作成されました。
続いて、以下のような確認が求められます。許可をすると、サンプルデータが挿入されます。
 
自然言語のみで、データの投入までできました。
AtlasのUI上でも確認してみます。
正しく操作されていますね。
 
次に、曖昧な表現でもクエリが実行できるかを試してみます。
 
こちらの意図を正しく理解して、操作してくれたようです。
 
その他、Usage Examplesに紹介されているように、下記の操作が実行できました。

データの検索

データベースやコレクションの構造を尋ねたり、特定の条件でデータを検索したりできます。
プロンプト例:

データベースの管理

自然言語でCRUD操作(作成、読み取り、更新、削除)を実行できます。
プロンプト例:

Atlasクラスタの管理

Atlas APIの権限を設定していれば、クラスターの管理も可能です。
プロンプト例:

コード生成

データベースのスキーマ情報をコンテキストとして与えることで、より正確なアプリケーションコードを生成させることができます。
プロンプト例:

その他の便利な機能


自然言語でのクエリ実行は簡単である一方、誤った操作による事故などのリスクはあります。
サービスアカウントの権限を、最小権限の原則に従い絞る必要があることはもちろん、以下のように設定で回避することも可能です。

読み取り専用モード

設定でにすることで、データの変更を伴う操作(作成、更新、削除)を禁止し、安全にデータ検索を行えます。

特定ツールの無効化

フィールドを使用すると、特定の操作(例: , )を個別に無効化でき、意図しない操作を防ぐことができます。

まとめ


MongoDB MCP Serverは、自然言語という直感的なインターフェースを通じて、MongoDBの強力な機能を誰もが簡単に利用できるようにするためのツールです。
特に、データベースの専門知識がない開発者や、AIを活用して開発プロセスを効率化したいチームにとって、大きな助けになりそうです。
まだパブリックプレビュー段階ですが、AIとデータベースの連携を高める可能性があり、今後の発展が非常に楽しみです。
MongoDBはGitHubでフィードバックを積極的に募集しているため、興味のある方はぜひ試してみてはいかがでしょうか。
 
SRG では一緒に働く仲間を募集しています。
ご興味ありましたらぜひこちらからご連絡ください。