SuperAPI AI 工具集

mongodb-lens

MongoDB Lens 是一个本地运行的 Model Context Protocol(MCP)服务器,让用户通过自然语言配合大语言模型(LLM)访问 MongoDB 数据库,执行查询、聚合、性能优化等操作。它提供完整的 MongoDB 管理工具集,涵盖数据库、集合、索引、用户、事务、全文检索、地理查询、GridFS 等操作,并内置确认机制以保护破坏性操作。支持通过 NPX、Docker Hub、源码(Node.js/Docker)等多种方式安装,可通过配置文件、环境变量和多连接别名进行定制,兼容现代及较旧版本的 MongoDB。

访问官网

工具介绍

用途

MongoDB Lens 是一个本地 Model Context Protocol(MCP)服务器,为 MongoDB 数据库提供全面的访问能力。用户可以通过自然语言,借助大语言模型(LLM)执行查询、运行聚合、优化性能等操作。它作为 MCP 服务器,需与支持 MCP 的客户端(如 Claude Desktop、Cursor 等)配合使用。

主要能力

MongoDB Lens 提供大量“工具”,覆盖 MongoDB 的日常管理与开发场景:

  • 连接与数据库管理:add-connection-alias、connect-mongodb、connect-original、use-database、create-database、current-database、list-connections、list-databases、list-collections、databases、collections。
  • 数据与查询:find-documents、count-documents、distinct-values、text-search、geo-query、collation-query、aggregate-data、explain-query、analyze-query-patterns、aggregation-builder、query-builder。
  • 写入与修改:insert-document、update-document、delete-document(需确认)、bulk-operations(破坏性操作需确认)、transaction(ACID 事务)。
  • 集合与索引:create-collection、drop-collection(需确认)、rename-collection(删除目标时需确认)、create-index、drop-index(需确认)、collection-indexes、drop-database(需确认)。
  • 模式与验证:analyze-schema、compare-schemas、collection-schema、generate-schema-validator、validate-collection、collection-validation、schema-analysis、schema-versioning。
  • 用户与安全:create-user、drop-user(需确认)、database-users、security-audit。
  • 性能与状态:get-stats、collection-stats、performance-metrics、server-status、replica-status、shard-status、database-health-check、index-recommendation、query-optimizer。
  • 数据导入导出与文件:export-data(JSON/CSV)、gridfs-operation。
  • 实时监控:watch-changes、database-triggers。
  • 其他辅助:clear-cache、stored-functions、backup-strategy、migration-guide、mongo-shell、multi-tenant-design、sql-to-mongodb。

此外还包含资源(如 collection-indexes、collection-schema、collection-stats、collection-validation、collections、database-triggers、database-users、databases、performance-metrics、replica-status、server-status、stored-functions)以及提示(如 aggregation-builder、backup-strategy、data-modeling、database-health-check、index-recommendation、migration-guide、mongo-shell、multi-tenant-design、query-builder、query-optimizer、schema-analysis、schema-versioning、security-audit、sql-to-mongodb)。

其他特性

MongoDB Lens 还具备:

  • 配置文件:通过 ~/.mongodb-lens.[jsonc|json] 进行自定义,支持 .json 与 .jsonc 格式。
  • 环境变量覆盖:以 CONFIG_* 形式覆盖配置,环境变量优先级高于配置文件。
  • 确认系统:破坏性操作采用两步验证。
  • 多连接:定义并切换命名 URI 别名。
  • 组件禁用:可选择性禁用工具、提示或资源。
  • 连接弹性:自动重连,带指数退避。
  • 查询保护:可配置限制与性能保护。
  • 错误处理:完善的 JSONRPC 错误码与消息。
  • 模式推断:通过智能采样进行高效模式分析。
  • 凭据保护:日志中连接字符串密码混淆。
  • 内存管理:对大操作自动监控与清理。
  • 智能缓存:针对模式、索引、字段和集合的优化缓存。
  • 向后兼容:同时支持现代与旧版 MongoDB。

MongoDB Lens 在创建的每个数据库中插入一个元数据集合,其中存储一个包含上下文信息的文档,作为数据库来源的永久记录,同时确保新的空数据库在 MongoDB 存储中持久保留。当用户向新数据库添加自己的集合后,可通过 drop-collection 工具安全移除该元数据集合(例如:“Drop the new database's metadata collection” ➥ 使用 drop-collection 工具,需确认)。

使用方式

安装与运行

MongoDB Lens 可通过以下方式安装运行:

  • NPX(需已安装 Node.js):npx -y mongodb-lens;若遇权限错误,可先运行 npx clear-npx-cache。
  • Docker Hub(需 Docker):docker run --rm -i --network=host furey/mongodb-lens(原文仅给出方式,具体镜像运行命令以官方为准)。
  • Node.js 源码:
    • git clone https://github.com/furey/mongodb-lens.git
    • cd /path/to/mongodb-lens
    • 确认 Node.js 版本:node --version(理想 >= v22.x,兼容 >= v18.x)
    • 安装依赖:npm ci
    • 启动:node mongodb-lens.js(默认连接 mongodb://localhost:27017)或 node mongodb-lens.js mongodb://your-connection-string
  • Docker 源码:
    • 确认 Docker:docker --version(理想 >= v27.x)
    • 构建镜像:docker build -t mongodb-lens .
    • 运行:docker run --rm -i --network=host mongodb-lens(默认连接)或 docker run --rm -i --network=host mongodb-lens mongodb://your-connection-string

安装验证:向服务器 stdio 粘贴并运行一段 JSONRPC 消息,服务器应返回 MongoDB 实例中的数据库列表。

旧版 MongoDB

若连接的 MongoDB 版本 < 4.0,最新 MongoDB Lens 使用的 Node.js 驱动不兼容(驱动 4.0.0+ 需 MongoDB 4.0+)。需使用 3.x 系列驱动(如 3.7.4 兼容 MongoDB 3.6):

  • 修改 package.json:将 "mongodb": "^6.15.0" 改为 "mongodb": "^3.7.4"(或兼容版本)
  • 安装依赖:npm install
  • 启动:node mongodb-lens.js mongodb://older-mongodb-instance
  • 可能还需回退某次提交以恢复 useNewUrlParser 和 useUnifiedTopology 配置选项。
  • 若使用 NPX 或 Docker,需使用以兼容驱动发布的旧版 MongoDB Lens,如 MongoDB Lens 8.3.0 使用驱动 3.7.4,通过版本标签指定。

配置

  • 连接字符串:服务器接受一个 MongoDB 连接字符串作为唯一参数。示例:mongodb://localhost:27017;mongodb://username:password@hostname:27017/mydatabase?authSource=admin;mongodb://hostname:27017/mydatabase?retryWrites=true&w=majority。未提供时尝试本地连接。
  • 配置文件:支持 ~/.mongodb-lens.jsonc(优先)或 ~/.mongodb-lens.json,可选。可通过 CONFIG_PATH 环境变量自定义路径。使用 config:create 脚本自动生成配置,支持指定输出位置。
  • 多连接:在配置文件中将 mongoUri 设为别名-URI 对象,列表第一项为启动默认连接;可用自然语言切换(如“Connect to backup”“Connect to atlas”),也可用 add-connection-alias 在运行时添加别名。
  • 环境变量覆盖:以 CONFIG_* 命名,优先级高于配置文件;布尔值用字符串 'true'/'false',数值用字符串,嵌套对象或数组用 JSON 字符串。跨平台可使用 cross-env。

MCP 客户端设置

以 Claude Desktop 为例:安装 Claude Desktop;打开 claude_desktop_config.json(不存在则创建):macOS 路径 ~/Library/Application Support/Claude/claude_desktop_config.json;Windows 路径 %APPDATA%\Claude\claude_desktop_config.json。其他 MCP 客户端(如 Cursor)设置方式以各自文档为准。

适用场景

需要以自然语言方式探索、查询、优化和管理 MongoDB 数据库的开发者、DBA 或数据分析人员;希望借助 LLM 快速执行聚合、模式分析、性能诊断、SQL 转 MongoDB、多租户设计等任务的场景。

限制

  • 破坏性操作(删除、删除集合/数据库/索引/用户等)需要确认。
  • 旧版 MongoDB(< 4.0)需手动改用 3.x 驱动并可能需要回退代码调整,或使用旧版 MongoDB Lens。
  • 必须配合支持 MCP 的客户端使用。
  • 具体收费、价格等信息暂未提供。