mcpField
M
MCP MongoDB Integration

MCP MongoDB Integration

ローカル
github.com/the-sukhsinghデータベース181 週間前に更新

MCP MongoDB Integration について

MCP MongoDB Integrationは、MongoDBの操作をMCPツールとして公開し、Google Geminiを使うターミナルチャットボットも備えています。会話を通じてMongoDBを検索・変更したいユーザー向けで、CRUDや集計に対応します。

主な機能

  1. 01MongoDBのCRUDツール
  2. 02集計とドキュメント数の取得
  3. 03コレクションの一覧表示と作成
  4. 04Gemini搭載のターミナルチャットボット
  5. 05SSEによるMCPサーバー接続

活用シーン

  1. 01チャットでデータベースのレコードを検索・更新
  2. 02MongoDBデータに集計パイプラインを実行
  3. 03データベースのコレクションを確認・作成

MCP 対応

MongoDBの検索、書き込み、集計、コレクション管理をMCPクライアント向けのツールとして公開します。付属クライアントはSSEで接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP MongoDB 統合

このプロジェクトでは、MongoDB と Model Context Protocol(MCP)を統合し、AI アシスタントがデータベースを操作できるようにする方法を紹介します。主に次の 2 つのコンポーネントで構成されています。

  1. MCP MongoDB Server - MongoDB の操作を MCP ツールとして公開するサーバー
  2. 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
  }
]

仕組み

  1. MCP サーバーが MongoDB への接続を確立し、操作をツールとして公開します
  2. クライアントが Server-Sent Events(SSE)経由で MCP サーバーに接続します
  3. ユーザーのクエリが Gemini AI に送信され、Gemini AI が MongoDB ツールを使用するタイミングを判断します
  4. ツール呼び出しが MCP サーバーに転送されて実行され、結果が返されます
  5. Gemini AI がデータベースの結果を回答に反映し、ユーザーに返します

環境変数

サーバー(mcp-mongo-project/ 内の .env ファイル)
  • MONGODB_URI:MongoDB の接続文字列
  • MONGODB_NAME:使用するデータベースの名前
クライアント(client-side/ 内の .env ファイル)
  • GEMINI_API_KEY:Google Gemini AI の API キー

画像

チャットボットのインターフェース

チャットボットのインターフェース

チャットボットのインターフェース

ライセンス

ISC

コントリビューション

Issue の作成やプルリクエストの送信により、ぜひこのプロジェクトに貢献してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。