🗄️ MongoDB MCP Server for LLMS について
MongoDB MCP Server for LLMS は、LLM が MongoDB データベースを直接操作できるようにする MCP サーバーです。自然言語によるコレクションの照会、スキーマ確認、データ管理に対応し、AI による MongoDB 操作を求める開発者向けです。
主な機能
- 01コレクションのスキーマ確認
- 02ドキュメントの検索とフィルタリング
- 03インデックス管理
- 04ドキュメントの挿入・更新・削除
活用シーン
- 01AI アシスタントにコレクション構造を確認させる
- 02ローカルのサンドボックスで MongoDB 操作を試す
- 03コレクションのインデックスを作成または削除する
MCP 対応
本プロジェクトは MCP サーバーであり、find、listCollections、insertOne、updateOne、deleteOne、createIndex、dropIndex、indexes などのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🗄️ LLMS 向け MongoDB MCP サーバー
LLM が MongoDB データベースと直接やり取りできるようにする Model Context Protocol(MCP)サーバーです。自然言語を使って、コレクションのクエリ、スキーマの確認、データの管理をシームレスに行えます。
✨ 機能
- 🔍 コレクションスキーマの確認
- 📊 ドキュメントのクエリとフィルタリング
- 📈 インデックスの管理
- 📝 ドキュメント操作(挿入、更新、削除)
デモ動画
https://github.com/user-attachments/assets/2389bf23-a10d-49f9-bca9-2b39a1ebe654
🚀 クイックスタート
始めるには、mongodb の接続 URL を確認し、次の設定を Claude Desktop の設定ファイルに追加してください。
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"mongo-mcp",
"mongodb://<username>:<password>@<host>:<port>/<database>?authSource=admin"
]
}
}
}
Smithery 経由でのインストール
Smithery 経由で MongoDB MCP Server を Claude Desktop に自動インストールするには、次の手順を実行してください。
npx -y @smithery/cli install mongo-mcp --client claude
前提条件
- Node.js 18+
- npx
- Docker と Docker Compose(ローカルサンドボックスでのテストのみ)
- MCP クライアント(例:Claude Desktop アプリ)
テスト用サンドボックスのセットアップ
接続先の mongo db サーバーがなく、サンプル用サンドボックスを作成したい場合は、次の手順に従ってください。
- Docker Compose を使って MongoDB を起動します。
docker-compose up -d
- テストデータをデータベースに登録します。
npm run seed
Claude Desktop の設定
次の設定を Claude Desktop の設定ファイルに追加してください。
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
ローカル開発モード:
{
"mcpServers": {
"mongodb": {
"command": "node",
"args": [
"dist/index.js",
"mongodb://root:example@localhost:27017/test?authSource=admin"
]
}
}
}
テスト用サンドボックスのデータ構造
シードスクリプトは、サンプルデータを含む次の3つのコレクションを作成します。
Users
- 個人情報(名前、メールアドレス、年齢)
- 座標を含むネストされた住所
- 趣味の配列
- 会員登録日
Products
- 製品の詳細(名前、SKU、カテゴリー)
- ネストされた仕様
- 価格と在庫情報
- タグと評価
Orders
- 商品を含む注文の詳細
- ユーザー参照
- 配送と支払いの情報
- ステータスの追跡
🎯 プロンプトの例
機能を試すには、Claude で次のプロンプトを試してください。
基本操作
"What collections are available in the database?"
"Show me the schema for the users collection"
"Find all users in San Francisco"
高度なクエリ
"Find all electronics products that are in stock and cost less than $1000"
"Show me all orders from the user [email protected]"
"List the products with ratings above 4.5"
インデックス管理
"What indexes exist on the users collection?"
"Create an index on the products collection for the 'category' field"
"List all indexes across all collections"
ドキュメント操作
"Insert a new product with name 'Gaming Laptop' in the products collection"
"Update the status of order with ID X to 'shipped'"
"Find and delete all products that are out of stock"
📝 利用可能なツール
このサーバーは、データベース操作用に次のツールを提供します。
クエリツール
find:フィルタリングとプロジェクションを指定してドキュメントをクエリしますlistCollections:利用可能なコレクションを一覧表示しますinsertOne:単一のドキュメントを挿入しますupdateOne:単一のドキュメントを更新しますdeleteOne:単一のドキュメントを削除します
インデックスツール
createIndex:新しいインデックスを作成しますdropIndex:インデックスを削除しますindexes:コレクションのインデックスを一覧表示します
📜 ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。