/ 目錄 / 演練場 / MongoDB MCP Server
● 社群 kiliczsh 🔑 需要你的金鑰

MongoDB MCP Server

作者 kiliczsh · kiliczsh/mcp-mongo-server

把 MongoDB 連線字串交給 Claude,讓它執行查詢、聚合並推斷 schema——附帶 --read-only 旗標,適合在正式環境安全探索。

mcp-mongo-server 是一個精簡的 MongoDB MCP 伺服器。只需傳入連線 URI 作為唯一參數,Claude 就能使用 find、aggregate、索引查看、schema 推斷與集合內省。提供 --read-only 旗標,啟用後會停用所有寫入工具——當你想讓 Claude 探索正式環境資料庫但不動到任何資料時使用。

為什麼要用

核心特性

即時演示

實際使用效果

mongo-mcp-kiliczsh.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mongo-mcp-kiliczsh": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mongo-mcp-kiliczsh": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mongo-mcp-kiliczsh": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mongo-mcp-kiliczsh": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mongo-mcp-kiliczsh",
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "mongo-mcp-kiliczsh": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-mongo-server",
          "mongodb://localhost:27017/mydb"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add mongo-mcp-kiliczsh -- npx -y mcp-mongo-server mongodb://localhost:27017/mydb

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: MongoDB MCP Server

在不寫入任何資料的情況下探索陌生的 MongoDB 資料庫

👤 正在熟悉新服務的開發者 ⏱ ~15 min beginner

何時使用: 你接手了一個 Mongo 實例,但 schema 完全沒有文件。

前置條件
  • 唯讀 Mongo 使用者db.createUser({user:'reader', roles:[{role:'read', db:'mydb'}]})
步驟
  1. 以唯讀模式連線
    使用 mongo MCP。列出所有集合,並對前 3 個最大的集合推斷 schema。✓ 已複製
    → 集合列表 + 每個集合的 JSON schema
  2. 抽樣確認
    orders 集合顯示 5 個範例文件——將電子郵件匿名化。✓ 已複製
    → 5 個文件,個人識別資訊已遮蔽
  3. 對應關聯
    哪些集合透過 ObjectId 互相參照?畫一個簡單的文字圖。✓ 已複製
    → 純文字 ER 圖

結果: 10 分鐘內建立起對資料庫的有效心智模型,無需 DBA 協助。

注意事項
  • 取樣遺漏高基數欄位 — 在推斷呼叫中增加取樣數量;若資料有時間偏斜,依日期分段取樣
搭配使用: filesystem

透過 Claude 的索引建議調校慢查詢聚合

👤 後端開發者 ⏱ ~25 min intermediate

何時使用: 一個聚合管線要跑 30 秒,但你不知道哪個階段是瓶頸。

步驟
  1. 分析
    以 explain=true 執行這個聚合。顯示 winning plan。✓ 已複製
    → 含各階段掃描文件數的 explain 輸出
  2. 診斷
    哪個階段是瓶頸?什麼索引可以改善?✓ 已複製
    → 含理由的具體索引建議
  3. 驗證
    加上索引後重新 explain。totalDocsExamined 是否下降了?✓ 已複製
    → 是/否,附上數字

結果: 透過一個精準索引讓聚合速度提升 10 倍。

注意事項
  • Claude 建議的索引會拖慢寫入 — 套用前先問:「這個索引會帶來多少寫入損耗?」

找出違反隱性 schema 的文件

👤 資料工程師 ⏱ ~20 min intermediate

何時使用: 無 schema 的資料庫會累積資料飄移;你需要找出問題文件。

步驟
  1. 取樣
    users 集合取樣 1000 個文件。哪些欄位遺失或型別不符?✓ 已複製
    → 每個欄位的空值率/型別頻率表
  2. 查找
    找出所有 email 為 null 或非字串的使用者。✓ 已複製
    → 計數 + 範例 _id

結果: 一份具體的髒資料報告,可直接交給遷移腳本使用。

注意事項
  • 大型集合觸發逾時 — 使用 $sample,然後依範圍縮小後續查詢

組合

與其他 MCP 搭配,撬動十倍槓桿

mongo-mcp-kiliczsh + filesystem

將聚合結果匯出為 JSON 供下游工具使用

執行聚合並將結果儲存到 /tmp/orders-by-month.json。✓ 已複製
mongo-mcp-kiliczsh + github

發現資料飄移後開一個含遷移腳本的 PR

我們發現 1200 個使用者沒有電子郵件。開一個含補填遷移腳本的 PR。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
find collection, filter, projection?, limit? 查找特定文件 1 次查詢
aggregate collection, pipeline[], explain? 分組/轉換資料 1 次查詢
list_collections (無) 探索資料庫中有什麼 免費
schema collection, sample_size? 從取樣文件推斷結構 1 次取樣讀取
list_indexes collection 調校討論 免費
insert_one collection, document 僅在非 --read-only 模式時使用 1 次寫入

成本與限制

運行它的成本

API 配額
受限於你的 Mongo 叢集 RU/IOPS
每次呼叫 Token 數
200–5000,視結果大小而定
費用
免費(開源)
提示
只投影你需要的欄位;儘早限制 limit

安全

權限、密鑰、影響範圍

最小權限: 目標資料庫的 read 權限
憑證儲存: URI 以 CLI 參數傳入——不要留在 shell 歷史中
資料出站: 僅限你的 Mongo 主機
切勿授予: dbAdmin root

故障排查

常見錯誤與修復

MongoServerSelectionError

檢查連線、IP 白名單、TLS 設定

驗證: 以相同 URI 執行 mongosh
Authentication failed

確認 URI 中的 authSource(通常是 admin);確認使用者存在於該資料庫

唯讀模式下找不到工具

若需要寫入,移除 --read-only;否則使用其他 MCP 處理寫入

替代方案

MongoDB MCP Server 對比其他方案

替代方案何時用它替代權衡
MongoDB CompassGUI 探索,不涉及 AI無代理整合;需手動查詢
在 shell MCP 中使用 mongosh你想要原始 mongosh 的全部功能風險較高;此 MCP 提供有限制的工具集

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills