MCP データベース サーバー
大規模言語モデル(LLM)が自然言語を介して様々なデータベースと対話できるようにする、モデルコンテキストプロトコル(MCP)サーバー実装。現在MongoDBをサポートしており、今後以下のデータベースへのサポートも予定されています。
PostgreSQL
コックローチDB
レディス
さらに…
特徴
自然言語によるデータベース操作
現在、以下の機能を備えた MongoDB をサポートしています:
すべてのコレクションを一覧表示する
フィルタリングと投影によるドキュメントのクエリ
ドキュメントを挿入する
ドキュメントを削除する
集約パイプライン操作
他のデータベースの将来のサポート:
PostgreSQL: SQLクエリ、テーブル操作
CockroachDB: 分散SQL操作
Redis: キー値操作、キャッシュ
Related MCP server: MongoDB
前提条件
Node.js v20.12.2 以上
データベース(現在は MongoDB、他のデータベースも近日中に提供予定)
クロードデスクトップアプリケーション
インストール
リポジトリをクローンします。
git clone https://github.com/manpreet2000/mcp-database-server.git
cd mcp-database-server依存関係をインストールします:
npm installTypeScript コードをビルドします。
npm run build構成
開始するには、Claude Desktop 構成ファイルでデータベース接続を構成する必要があります。
macOS
~/Library/Application\ Support/Claude/claude_desktop_config.jsonウィンドウズ
%APPDATA%/Claude/claude_desktop_config.jsonclaude_desktop_config.jsonに次の構成を追加します。
{
"mcpServers": {
"database": {
"command": "/path/to/node",
"args": ["/path/to/mcp-database/dist/index.js"],
"env": {
"MONGODB_URI": "your-mongodb-connection-string"
}
}
}
}交換する:
/path/to/nodeをNode.js実行ファイルのパスに置き換えるか、単にnodeを使用します。/path/to/mcp-databaseにこのリポジトリへの絶対パスを記述しますyour-mongodb-connection-stringMongoDB 接続 URL に置き換えます。
使用例
MongoDBの例
データベース内のすべてのコレクションを一覧表示します。
Can you show me all the collections in my database?コレクションから特定のレコードを取得します。
Give me 2 records from the chargers collectionフィルターを使用したクエリ:
Show me all documents in the users collection where status is activeドキュメントを挿入します:
Add a new user to the users collection with name John and email john@example.comドキュメントを削除します。
Remove the user with email john@example.com from the users collection集計データ:
Show me the total count of users by status in the users collection利用可能なツール
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ライセンス - 詳細はライセンスをご覧ください