MCP データベース サーバー
大規模言語モデル(LLM)が自然言語を介して様々なデータベースと対話できるようにする、モデルコンテキストプロトコル(MCP)サーバー実装。現在MongoDBをサポートしており、今後以下のデータベースへのサポートも予定されています。
PostgreSQL
コックローチDB
レディス
さらに…
特徴
自然言語によるデータベース操作
現在、以下の機能を備えた MongoDB をサポートしています:
すべてのコレクションを一覧表示する
フィルタリングと投影によるドキュメントのクエリ
ドキュメントを挿入する
ドキュメントを削除する
集約パイプライン操作
他のデータベースの将来のサポート:
PostgreSQL: SQLクエリ、テーブル操作
CockroachDB: 分散SQL操作
Redis: キー値操作、キャッシュ
Related MCP server: MongoDB
前提条件
Node.js v20.12.2 以上
データベース(現在は MongoDB、他のデータベースも近日中に提供予定)
クロードデスクトップアプリケーション
インストール
リポジトリをクローンします。
依存関係をインストールします:
TypeScript コードをビルドします。
構成
開始するには、Claude Desktop 構成ファイルでデータベース接続を構成する必要があります。
macOS
ウィンドウズ
claude_desktop_config.jsonに次の構成を追加します。
交換する:
/path/to/nodeをNode.js実行ファイルのパスに置き換えるか、単にnodeを使用します。/path/to/mcp-databaseにこのリポジトリへの絶対パスを記述しますyour-mongodb-connection-stringMongoDB 接続 URL に置き換えます。
使用例
MongoDBの例
データベース内のすべてのコレクションを一覧表示します。
コレクションから特定のレコードを取得します。
フィルターを使用したクエリ:
ドキュメントを挿入します:
ドキュメントを削除します。
集計データ:
利用可能なツール
1. getCollections
接続されたデータベース内のすべてのコレクションを一覧表示します。
2. getCollection
オプションのクエリ パラメータを使用してコレクションからドキュメントを取得します。
collectionName: コレクションの名前limit: 返されるドキュメントの最大数(デフォルト: 10、最大: 1000)query: MongoDBクエリオブジェクトprojection: 含める/除外するフィールド
3. 挿入One
コレクションに単一のドキュメントを挿入します。
collectionName: コレクションの名前document: 挿入するドキュメントオブジェクト
4. 1つ削除
コレクションから単一のドキュメントを削除します。
collectionName: コレクションの名前query: 削除する文書に一致するクエリ
5. 集計
集計パイプラインを実行します。
collectionName: コレクションの名前pipeline: 集約ステージの配列options: オプションの集計オプション
将来のデータベースサポート
PostgreSQL
SQLクエリ実行
テーブル操作
スキーマ管理
取引サポート
コックローチDB
分散SQL操作
マルチリージョンサポート
トランザクション管理
スキーマ操作
レディス
キー値操作
キャッシュメカニズム
パブリッシュ/サブスクライブ操作
データ構造操作
安全
データベース接続文字列をバージョン管理にコミットしないでください
機密情報には環境変数を使用する
データベース固有のセキュリティのベストプラクティスに従う
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。大きな変更については、まずIssueを開いて、変更したい点について議論してください。
ライセンス
MITライセンス - 詳細はライセンスをご覧ください