MongoDB Lens

MongoDB Lens

用于 MongoDB 数据库分析的全功能 MCP 服务器。

Category
访问服务器

README

MongoDB Lens

License Docker Hub Version NPM Version Buy Me a Coffee

MongoDB Lens 是一个本地模型上下文协议 (MCP) 服务器,它通过 LLM 使用自然语言对 MongoDB 数据库进行全功能访问,以执行查询、运行聚合、优化性能等等。

目录

快速开始

特性

工具

资源

提示

其他特性

其他特性:概述

MongoDB Lens 包含许多其他特性:

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

其他特性:新的数据库元数据

MongoDB Lens 将 metadata 集合插入到它创建的每个数据库中。

metadata 集合存储一个包含上下文信息的文档,该文档用作数据库来源的永久记录,同时确保新的且原本为空的数据库保留在 MongoDB 的存储系统中。

<details> <summary><strong>示例元数据文档</strong></summary>

{
    "_id" : ObjectId("67d5284463788ec38aecee14"),
    "created" : {
        "timestamp" : ISODate("2025-03-15T07:12:04.705Z"),
        "tool" : "MongoDB Lens v5.0.7",
        "user" : "anonymous"
    },
    "mongodb" : {
        "version" : "3.6.23",
        "connectionInfo" : {
            "host" : "unknown",
            "readPreference" : "primary"
        }
    },
    "database" : {
        "name" : "example_database",
        "description" : "Created via MongoDB Lens"
    },
    "system" : {
        "hostname" : "unknown",
        "platform" : "darwin",
        "nodeVersion" : "v22.14.0"
    },
    "lens" : {
        "version" : "5.0.7",
        "startTimestamp" : ISODate("2025-03-15T07:10:06.084Z")
    }
}

</details>

将您自己的集合添加到新数据库后,您可以安全地通过 drop-collection 工具删除 metadata 集合:

  • "删除新数据库的元数据集合"<br> <sup>➥ 使用 drop-collection 工具(需要确认)</sup>

安装

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

安装:NPX

[!NOTE]<br> NPX 需要在您的系统上安装并运行 Node.js(建议:使用 Volta)。

运行 MongoDB Lens 最简单的方法是使用 NPX。

首先,确保已安装 Node.js:

node --version # 理想情况下 >= v22.x,但 MongoDB Lens 与 >= v18.x 兼容

然后,通过 NPX 运行 MongoDB Lens:

# 使用默认连接字符串 mongodb://localhost:27017
npx -y mongodb-lens

# 使用自定义连接字符串
npx -y mongodb-lens mongodb://your-connection-string

# 使用 "@latest" 以保持软件包最新
npx -y mongodb-lens@latest

[!TIP]<br> 如果您在使用 npx 时遇到权限错误,请尝试在运行 npx -y mongodb-lens 之前运行 npx clear-npx-cache(这将清除缓存并重新下载软件包)。

安装:Docker Hub

[!NOTE]<br> Docker Hub 需要在您的系统上安装并运行 Docker

首先,确保已安装 Docker:

docker --version # 理想情况下 >= v27.x

然后,通过 Docker Hub 运行 MongoDB Lens:

# 使用默认连接字符串 mongodb://localhost:27017
docker run --rm -i --network=host furey/mongodb-lens

# 使用自定义连接字符串
docker run --rm -i --network=host furey/mongodb-lens mongodb://your-connection-string

# 使用 "--pull" 以保持 Docker 镜像最新
docker run --rm -i --network=host --pull=always furey/mongodb-lens

安装:来自源代码的 Node.js

[!NOTE]<br> 来自源代码的 Node.js 需要在您的系统上安装并运行 Node.js(建议:使用 Volta)。

  1. 克隆 MongoDB Lens 存储库:<br>
    git clone https://github.com/furey/mongodb-lens.git
    
  2. 导航到克隆的存储库目录:<br>
    cd /path/to/mongodb-lens
    
  3. 确保已安装 Node.js:<br>
    node --version # 理想情况下 >= v22.x,但 MongoDB Lens 与 >= v18.x 兼容
    
  4. 安装 Node.js 依赖项:<br>
    npm ci
    
  5. 启动服务器:<br>
    # 使用默认连接字符串 mongodb://localhost:27017
    node mongodb-lens.js
    
    # 使用自定义连接字符串
    node mongodb-lens.js mongodb://your-connection-string
    

安装:来自源代码的 Docker

[!NOTE]<br> 来自源代码的 Docker 需要在您的系统上安装并运行 Docker

  1. 克隆 MongoDB Lens 存储库:<br>
    git clone https://github.com/furey/mongodb-lens.git
    
  2. 导航到克隆的存储库目录:<br>
    cd /path/to/mongodb-lens
    
  3. 确保已安装 Docker:<br>
    docker --version # 理想情况下 >= v27.x
    
  4. 构建 Docker 镜像:<br>
    docker build -t mongodb-lens .
    
  5. 运行容器:<br>
    # 使用默认连接字符串 mongodb://localhost:27017
    docker run --rm -i --network=host mongodb-lens
    
    # 使用自定义连接字符串
    docker run --rm -i --network=host mongodb-lens mongodb://your-connection-string
    

安装验证

要验证安装,请将以下 JSONRPC 消息粘贴并运行到服务器的 stdio 中:

{"method":"resources/read","params":{"uri":"mongodb://databases"},"jsonrpc":"2.0","id":1}

服务器应使用 MongoDB 实例中的数据库列表进行响应,例如:

{"result":{"contents":[{"uri":"mongodb://databases","text":"Databases (12):\n- admin (180.00 KB)\n- config (108.00 KB)\n- local (40.00 KB)\n- sample_airbnb (51.88 MB)\n- sample_analytics (9.46 MB)\n- sample_geospatial (980.00 KB)\n- sample_guides (40.00 KB)\n- sample_mflix (108.90 MB)\n- sample_restaurants (7.73 MB)\n- sample_supplies (968.00 KB)\n- sample_training (40.85 MB)\n- sample_weatherdata (2.69 MB)"}]},"jsonrpc":"2.0","id":1}

MongoDB Lens 现在已安装并准备好接受 MCP 请求。

安装:旧版 MongoDB

如果连接到版本 < 4.0 的 MongoDB 实例,则最新版本的 MongoDB Lens 使用的 MongoDB Node.js 驱动程序将不兼容。 具体来说,MongoDB Node.js 驱动程序版本 4.0.0 及更高版本需要 MongoDB 版本 4.0 或更高版本。

要将 MongoDB Lens 与旧版 MongoDB 实例一起使用,您需要使用 3.x 系列中的 MongoDB Node.js 驱动程序版本(例如,3.7.4 与 MongoDB 3.6 兼容)。

旧版 MongoDB:从源代码运行

  1. 克隆 MongoDB Lens 存储库:<br>
    git clone https://github.com/furey/mongodb-lens.git
    
  2. 导航到克隆的存储库目录:<br>
    cd /path/to/mongodb-lens
    
  3. 修改 package.json:<br>
    "dependencies": {
      ...
    -  "mongodb": "^6.15.0",  // 或列出的任何更新版本
    +  "mongodb": "^3.7.4",   // 或与您的旧版 MongoDB 实例兼容的任何 3.x 版本
      ...
    }
    
  4. 安装 Node.js 依赖项:<br>
    npm install
    
  5. 启动 MongoDB Lens:<br>
    node mongodb-lens.js mongodb://older-mongodb-instance
    

这将使用与您的 MongoDB 实例兼容的旧版驱动程序。

[!NOTE]<br> 您可能还需要还原此提交以添加回 useNewUrlParseruseUnifiedTopology MongoDB 配置选项。

旧版 MongoDB:使用 NPX 或 Docker

如果您更喜欢使用 NPX 或 Docker,则需要使用已发布了兼容驱动程序的旧版 MongoDB Lens。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选