MCP MongoDB Integration について
MCP MongoDB Integrationは、MongoDBの操作をMCPツールとして公開し、Google Geminiを使うターミナルチャットボットも備えています。会話を通じてMongoDBを検索・変更したいユーザー向けで、CRUDや集計に対応します。
主な機能
- 01MongoDBのCRUDツール
- 02集計とドキュメント数の取得
- 03コレクションの一覧表示と作成
- 04Gemini搭載のターミナルチャットボット
- 05SSEによるMCPサーバー接続
活用シーン
- 01チャットでデータベースのレコードを検索・更新
- 02MongoDBデータに集計パイプラインを実行
- 03データベースのコレクションを確認・作成
MCP 対応
MongoDBの検索、書き込み、集計、コレクション管理をMCPクライアント向けのツールとして公開します。付属クライアントはSSEで接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP MongoDB 統合
このプロジェクトでは、MongoDB と Model Context Protocol(MCP)を統合し、AI アシスタントがデータベースを操作できるようにする方法を紹介します。主に次の 2 つのコンポーネントで構成されています。
- MCP MongoDB Server - MongoDB の操作を MCP ツールとして公開するサーバー
- Client-side Gemini Integration - MongoDB ツールを利用する、Google の Gemini AI を使用したターミナルベースのチャットボット
プロジェクト構成
.
├── client-side/ # Client application using Gemini AI
│ ├── index.js # Main client application
│ └── package.json # Client dependencies
└── mcp-mongo-project/ # MCP server with MongoDB tools
├── src/
│ ├── index.js # Server setup and tool definitions
│ └── services/
│ └── mcp-service.js # MongoDB service implementation
└── package.json # Server dependencies
機能
- MongoDB 統合:完全な CRUD 操作を MCP ツールとして公開
- MCP サーバー:AI によるツールの使用に向けて Model Context Protocol を実装
- Gemini AI 統合:Google の Gemini モデルに接続
- ターミナルチャットボット:データベース操作のための対話型チャットインターフェース
前提条件
- Node.js(v14 以降)
- MongoDB インスタンス(ローカルまたはリモート)
- Google Gemini API キー

セットアップ手順
1. サーバーのセットアップ
# Navigate to the server directory
cd mcp-mongo-project
# Install dependencies
npm install
# Create a .env file with your MongoDB connection details
echo "MONGODB_URI=mongodb://localhost:27017" > .env
echo "MONGODB_NAME=your_database_name" >> .env
# Start the server
npm start
2. クライアントのセットアップ
# Navigate to the client directory
cd client-side
# Install dependencies
npm install
# Create a .env file with your Gemini API key
echo "GEMINI_API_KEY=your_gemini_api_key" > .env
# Start the client
node index.js
利用可能な MongoDB ツール
MCP サーバーは、次の MongoDB 操作をツールとして公開します。
- findDocuments:コレクション内のドキュメントを検索
- findOneDocument:単一のドキュメントを検索
- insertOneDocument:ドキュメントを挿入
- insertManyDocuments:複数のドキュメントを挿入
- updateOneDocument:単一のドキュメントを更新
- updateManyDocuments:複数のドキュメントを更新
- deleteOneDocument:ドキュメントを削除
- deleteManyDocuments:複数のドキュメントを削除
- aggregateDocuments:集約パイプラインを実行
- countDocuments:コレクション内のドキュメント数をカウント
- listCollections:すべてのコレクションを一覧表示
- createCollection:新しいコレクションを作成
使用例
サーバーとクライアントの両方が起動したら、チャットインターフェースを通じて MongoDB を操作できます。
You: Show me all collections in the database
AI: Found 3 collections in the database
[
"users",
"products",
"orders"
]
You: Find all users with age greater than 30
AI: Found 2 documents in collection 'users'
[
{
"_id": "6450a7c63020e15b2a1cf5d2",
"name": "John Doe",
"age": 35
},
{
"_id": "6450a7d93020e15b2a1cf5d3",
"name": "Jane Smith",
"age": 42
}
]
仕組み
- MCP サーバーが MongoDB への接続を確立し、操作をツールとして公開します
- クライアントが Server-Sent Events(SSE)経由で MCP サーバーに接続します
- ユーザーのクエリが Gemini AI に送信され、Gemini AI が MongoDB ツールを使用するタイミングを判断します
- ツール呼び出しが MCP サーバーに転送されて実行され、結果が返されます
- Gemini AI がデータベースの結果を回答に反映し、ユーザーに返します
環境変数
サーバー(mcp-mongo-project/ 内の .env ファイル)
MONGODB_URI:MongoDB の接続文字列MONGODB_NAME:使用するデータベースの名前
クライアント(client-side/ 内の .env ファイル)
GEMINI_API_KEY:Google Gemini AI の API キー
画像



ライセンス
ISC
コントリビューション
Issue の作成やプルリクエストの送信により、ぜひこのプロジェクトに貢献してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。