mcpField
M
MCP Database Server

MCP Database Server

ローカル
github.com/manpreet2000データベース083 週間前に更新

MCP Database Server について

MCP Database Serverは、LLMから自然言語でデータベースを操作するためのMCPサーバーです。現在はMongoDBに対応し、検索や書き込み、集計を行えます。

主な機能

  1. 01MongoDBのコレクション一覧
  2. 02条件指定と射影による検索
  3. 03ドキュメントの挿入と削除
  4. 04集計パイプラインの実行

活用シーン

  1. 01データベース内のコレクション確認
  2. 02条件に合うドキュメントの検索
  3. 03レコードの追加や削除
  4. 04コレクションデータの集計と分析

MCP 対応

MCPサーバーとして、MongoDBのコレクション確認、ドキュメントの検索・変更、集計ツールをクライアントに提供します。現在対応しているのはMongoDBで、他のデータベースは今後の対応予定です。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP Database Server

大規模言語モデル(LLM)が自然言語を通じてさまざまなデータベースを操作できるようにする、Model Context Protocol(MCP)サーバーの実装です。現在は MongoDB に対応しており、今後は以下のデータベースにも対応する予定です。

  • PostgreSQL
  • CockroachDB
  • Redis
  • その他…

機能

  • 自然言語を通じたデータベース操作
  • 現在は MongoDB に対応しており、以下の機能を利用できます。
    • すべてのコレクションを一覧表示
    • フィルタリングとプロジェクションを使ったドキュメントのクエリ
    • ドキュメントの挿入
    • ドキュメントの削除
    • 集計パイプライン操作
  • 今後、以下のデータベースにも対応する予定です。
    • PostgreSQL:SQL クエリ、テーブル操作
    • CockroachDB:分散 SQL 操作
    • Redis:キーと値の操作、キャッシュ

前提条件

  • Node.js v20.12.2 以上
  • データベース(現在は MongoDB に対応。他のデータベースにも今後対応予定)
  • Claude Desktop Application

インストール

  1. リポジトリをクローンします。
git clone https://github.com/manpreet2000/mcp-database-server.git
cd mcp-database-server
  1. 依存関係をインストールします。
npm install
  1. TypeScript コードをビルドします。
npm run build

設定

利用を開始するには、Claude Desktop の設定ファイルでデータベース接続を設定する必要があります。

MacOS
~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows
%APPDATA%/Claude/claude_desktop_config.json

次の設定を claude_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-string を MongoDB の接続 URL に置き換えます。

使用例

MongoDB の例
  1. データベース内のすべてのコレクションを一覧表示します。
Can you show me all the collections in my database?
  1. コレクションから特定のレコードを取得します。
Give me 2 records from the chargers collection
  1. フィルターを使ってクエリを実行します。
Show me all documents in the users collection where status is active
  1. ドキュメントを挿入します。
Add a new user to the users collection with name John and email [email protected]
  1. ドキュメントを削除します。
Remove the user with email [email protected] from the users collection
  1. データを集計します。
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. insertOne

コレクションに単一のドキュメントを挿入します。

  • collectionName:コレクション名
  • document:挿入するドキュメントオブジェクト
4. deleteOne

コレクションから単一のドキュメントを削除します。

  • collectionName:コレクション名
  • query:削除するドキュメントに一致するクエリ
5. aggregate

集計パイプラインを実行します。

  • collectionName:コレクション名
  • pipeline:集計ステージの配列
  • options:オプションの集計オプション

今後対応予定のデータベース

PostgreSQL
  • SQL クエリの実行
  • テーブル操作
  • スキーマ管理
  • トランザクションのサポート
CockroachDB
  • 分散 SQL 操作
  • マルチリージョンのサポート
  • トランザクション管理
  • スキーマ操作
Redis
  • キーと値の操作
  • キャッシュ機能
  • Pub/Sub 操作
  • データ構造の操作

セキュリティ

  • データベース接続文字列をバージョン管理にコミットしないでください。
  • 機密情報には環境変数を使用してください。
  • データベース固有のセキュリティに関するベストプラクティスに従ってください。

貢献

貢献を歓迎します。お気軽にプルリクエストを送信してください。大きな変更を加える場合は、まずイシューを作成して、変更内容について相談してください。

ライセンス

MIT License — 詳細は LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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