mcpField
M
MCP MongoDB Server

MCP MongoDB Server

ローカル
npmjs.comデータベース28313 週間前に更新

MCP MongoDB Server について

MCP MongoDB Server は、AI アシスタントから MongoDB データベースを操作できるようにする MCP サーバーです。コレクションのスキーマを推定し、読み取り専用モードも備えているため、自然言語でデータを探索したい開発者に向いています。

主な機能

  1. 01スキーマ推定を伴うクエリと集計
  2. 02読み取り専用モードによる書き込み操作の遮断
  3. 03クロスデータベース操作とサーバーサイド JavaScript の制限
  4. 04stdio と HTTP の両トランスポートに対応
  5. 05タイムスタンプと日付文字列の変換ヘルパー

活用シーン

  1. 01自然言語による MongoDB コレクションの探索
  2. 02読み取り専用モードでのデータ分析
  3. 03HTTP エンドポイントを通じた複数クライアントへのデータベース提供

MCP 対応

MCP サーバーとして動作し、コレクションのクエリ・集計・書き込み・時刻変換などのツールを Claude Desktop や Cursor などの MCP クライアントに公開します。ローカルの stdio とリモートの HTTP接続の両方に対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mongo-server": {
"command": "npx",
"args": [
"-y",
"github:kiliczsh/mcp-mongo-server"
]
}
}
}
起動コマンドnpx -y github:kiliczsh/mcp-mongo-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgithub:kiliczsh/mcp-mongo-server

ツール

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

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

詳細

MCP MongoDB サーバー


NPM Version NPM Downloads NPM License

AI アシスタントが MongoDB データベースを操作できるようにする、Model Context Protocol(MCP)サーバーです。コレクションを公開してスキーマを推測し、標準インターフェースを通じてクエリ、集計、書き込みを実行するため、Claude Desktop や Cursor などのツールでデータを読み取り、推論できます。

デモ

MCP MongoDB Server Demo | Claude Desktop

選ばれる理由

  • 自然な言葉でデータベースに話しかけられます — アシスタントがコレクションとその構造を自動的に検出します。
  • デフォルトで安全です — 読み取り専用モードを有効にすれば、データを変更するリスクなしでアシスタントに調査させることができます。
  • あらゆる環境で動作します — スタンドアロン、レプリカセット、シャーディング構成、Atlas の各デプロイメントに、平文または TLS 接続で接続できます。

主な機能

  • 読み取り専用モード — すべての書き込み処理(挿入、更新、インデックス作成、およびデータを変更する可能性がある $out/$merge などの集計ステージ)をブロックします。
  • スマートな ObjectId 処理 — 24 文字の 16 進文字列を ObjectId に変換する方法を auto/none/force から設定できます。
  • スキーマ推論 — ドキュメントのサンプルからコレクションのスキーマを自動検出します。
  • クエリと集計 — explain プランのオプションを含め、クエリと集計パイプラインを完全にサポートします。
  • 書き込み操作 — 読み取り専用モードがオフの場合、挿入、更新、インデックス作成を実行できます。
  • 時刻変換 — convertTime ヘルパーで Unix タイムスタンプや日付文字列を UTC/GMT/ISO に変換できるため、タイムゾーンをまたぐ日付クエリも曖昧になりません。
  • 進捗とキャンセル — 時間のかかる操作の進捗を報告し、実行中にキャンセルできます。
  • 2 種類のトランスポート — stdio でローカル実行するか、リモートアクセス用の HTTP エンドポイントを公開できます。

要件

  • Node.js 20 以降

クイックスタート

サーバーをデータベースに接続します。インストールは不要です。

npx -y mcp-mongo-server mongodb://localhost:27017/mydatabase

データを変更する心配なく、安全に調査できます。

npx -y mcp-mongo-server mongodb://localhost:27017/mydatabase --read-only

使用方法

ローカル(stdio)

Claude Desktop、Cursor、その他のローカルクライアントで使用するデフォルトの設定です。

npx -y mcp-mongo-server "mongodb://user:pass@localhost:27017/mydatabase"
リモート(HTTP)

リモートまたは複数クライアントからのアクセス用に、/mcp で HTTP エンドポイントを公開します。

npx -y mcp-mongo-server "mongodb://user:pass@localhost:27017/mydatabase" --transport http --port 3001

デフォルトでは、ブラウザーの Origin を含まないリクエスト(CLI、IDE)と localhost からのリクエストのみが受け付けられます。それ以外は、DNS リバインディング攻撃を防ぐため 403 で拒否されます。--allowed-origins を使って、特定のブラウザーオリジンを許可できます。

npx -y mcp-mongo-server "mongodb://..." --transport http --port 3001 --allowed-origins "https://app.example.com"
オプション
フラグ説明
--read-only, -rすべての書き込み操作をブロックします
--allow-cross-db集計の $out/$merge/$lookup で他のデータベースを対象にできるようにします(デフォルトでは無効)
--allow-server-jsサーバーサイド JavaScript 演算子 $function/$where/$accumulator を許可します(デフォルトでは無効)
--transport, -tstdio(デフォルト)または http
--port, -pHTTP ポート(デフォルトは 3001)
--allowed-originsHTTP モードで許可するブラウザーオリジンをカンマ区切りで指定します
--json-limitHTTP リクエストボディの最大サイズ(デフォルトは 10mb)
--auth-tokenHTTP エンドポイントへのアクセスに Authorization: Bearer <token> を要求します
環境変数
変数説明
MCP_MONGODB_URIMongoDB 接続 URI(引数の代わりに使用できます)
MCP_MONGODB_READONLY読み取り専用モードを有効にします("true")
MCP_MONGODB_ALLOW_CROSS_DBデータベースをまたぐ集計ステージを許可します("true")
MCP_MONGODB_ALLOW_SERVER_JSサーバーサイド JavaScript 演算子を許可します("true")
MCP_PORTHTTP ポート
MCP_HTTP_ALLOWED_ORIGINSHTTP モードで許可するブラウザーオリジンをカンマ区切りで指定します
MCP_HTTP_JSON_LIMITHTTP リクエストボディの最大サイズ(デフォルトは 10mb)
MCP_HTTP_AUTH_TOKENHTTP エンドポイントへのアクセスに必要なベアラートークン

セキュリティ

データベースの範囲。 サーバーは接続文字列で指定されたデータベースを操作します。別のデータベースにアクセスする集約ステージ($out、$merge、明示的な db を指定した $lookup)は、デフォルトで拒否されます。そのため、パイプラインが指定していないデータベースを、気付かれないうちに読み書きすることはありません。必要な場合は、--allow-cross-db で有効にできます。

サーバーサイド JavaScript。 集約演算子 $function、$where、$accumulator は、MongoDB サーバー上で任意の JavaScript を実行します。デフォルトでは拒否されます。実行するパイプラインを信頼できる場合は、--allow-server-js で有効にできます。

読み取り専用モードでは、書き込みを行う、またはサーバーサイド JavaScript を実行する集約ステージ($out、$merge、$function、$where、$accumulator)を含む、すべての書き込み経路がブロックされます。

最小権限。 アプリケーションレベルのチェックには限界があります。最も強力な保証はデータベース自体によって得られます。必要なデータベースのみにアクセスできるよう範囲を限定した MongoDB ユーザーで接続し、アシスタントが参照のみを必要とする場合は読み取り専用の権限を付与してください。これにより、多層防御としてデータベース自体が境界を強制します。

ドキュメント

ライセンス

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

コメント

MCP は初めてですか?

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

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