使用说明
项目简介
MongoDB Lens 是一个本地 Model Context Protocol (MCP) 服务器,它允许您使用自然语言通过大型语言模型 (LLM) 访问 MongoDB 数据库。通过 MongoDB Lens,您可以执行查询、运行聚合、优化性能等等。它充当 LLM 客户端和 MongoDB 数据库之间的桥梁,将自然语言请求转换为 MongoDB 操作。
主要功能点
- 资源 (Resources): 提供关于 MongoDB 数据库和集合的元数据和统计信息,例如:
- 数据库列表和集合列表
- 集合的模式 (Schema) 信息和统计数据
- 索引信息和验证规则
- 服务器状态和用户角色等
- 工具 (Tools): 提供一系列预定义工具,允许 LLM 客户端执行各种 MongoDB 操作,例如:
- 数据查询 (find-documents) 和计数 (count-documents)
- 数据聚合 (aggregate-data)
- 模式分析 (analyze-schema)
- 索引创建 (create-index) 和查询性能分析 (explain-query)
- 数据导出 (export-data) 和导入 (bulk-operations)
- 集合和数据库管理 (create-collection, drop-collection, use-database)
- Prompt 模板 (Prompts): 提供预定义的 Prompt 模板,帮助 LLM 客户端更有效地与 MongoDB 数据库交互,例如:
- 查询构建助手 (query-builder) 和聚合管道构建助手 (aggregation-builder)
- 索引推荐 (index-recommendation) 和查询优化建议 (query-optimizer)
- 数据建模建议 (data-modeling) 和安全审计 (security-audit)
安装步骤
MongoDB Lens 可以通过 Docker 或 Node.js 两种方式安装。
Docker 安装:
- 确保您已安装 Docker。
- 克隆仓库到本地:
git clone https://github.com/furey/mongodb-lens cd mongodb-lens - 构建 Docker 镜像:
docker build -t mongodb-lens . - 运行 Docker 容器 (默认连接到本地 MongoDB):
或者,使用自定义 MongoDB 连接字符串:docker run --rm -i --network=host mongodb-lensdocker run --rm -i --network=host mongodb-lens mongodb://您的MongoDB连接字符串
Node.js 安装:
- 确保您已安装 Node.js (版本 >= 22.*) 和 npm。
- 克隆仓库到本地:
git clone https://github.com/furey/mongodb-lens cd mongodb-lens - 安装 Node.js 依赖:
npm ci - 启动服务器 (默认连接到本地 MongoDB):
或者,使用自定义 MongoDB 连接字符串:node mongodb-lens.jsnode mongodb-lens.js mongodb://您的MongoDB连接字符串
服务器配置
MCP 客户端需要配置 MongoDB Lens 服务器的启动命令和参数才能连接。以下是 Claude Desktop 客户端的配置示例 (JSON 格式):
Docker 配置示例:
{ "mcpServers": { "mongodb-lens": { "command": "docker", "args": [ "run", "--rm", "-i", "--network=host", "-e", "VERBOSE_LOGGING=true", "mongodb-lens", "mongodb://您的MongoDB连接字符串" // 请替换为您的 MongoDB 连接字符串,例如 mongodb://localhost:27017 ] } } }
- 'command': 设置为 "docker",表示使用 Docker 运行 MongoDB Lens。
- 'args': 参数列表,包括:
- '"run"': Docker 运行命令。
- '"--rm"': 容器退出后自动删除。
- '"-i"': 允许与容器进行交互。
- '"--network=host"': 使用 host 网络模式,允许容器直接访问 host 的网络。
- '"-e", "VERBOSE_LOGGING=true"': 设置环境变量 'VERBOSE_LOGGING' 为 'true',启用详细日志 (可选)。
- '"mongodb-lens"': Docker 镜像名称。
- '"mongodb://您的MongoDB连接字符串"': MongoDB 连接字符串,请根据您的 MongoDB 实例修改此连接字符串。如果 MongoDB Lens 和客户端在同一台机器上,并且 MongoDB 运行在默认端口,可以省略此参数,连接字符串默认为 'mongodb://localhost:27017'。
Node.js 配置示例:
{ "mcpServers": { "mongodb-lens": { "command": "/您的Node.js安装路径/node", // 请替换为您的 Node.js 可执行文件的绝对路径,例如 /usr/local/bin/node "args": [ "/您的mongodb-lens.js文件路径/mongodb-lens.js", // 请替换为 mongodb-lens.js 文件的绝对路径,例如 /Users/yourname/mongodb-lens/mongodb-lens.js "mongodb://您的MongoDB连接字符串" // 请替换为您的 MongoDB 连接字符串,例如 mongodb://localhost:27017 ], "env": { "VERBOSE_LOGGING": "true" // 设置环境变量 VERBOSE_LOGGING 为 true,启用详细日志 (可选) } } } }
- 'command': 设置为 Node.js 可执行文件的绝对路径,例如 '/usr/bin/node' 或 'C:\Program Files\nodejs\node.exe'。
- 'args': 参数列表,包括:
- '"/您的mongodb-lens.js文件路径/mongodb-lens.js"': 'mongodb-lens.js' 文件的绝对路径。
- '"mongodb://您的MongoDB连接字符串"': MongoDB 连接字符串,请根据您的 MongoDB 实例修改此连接字符串。如果 MongoDB Lens 和客户端在同一台机器上,并且 MongoDB 运行在默认端口,可以省略此参数,连接字符串默认为 'mongodb://localhost:27017'。
- 'env': 环境变量设置,'"VERBOSE_LOGGING": "true"' 启用详细日志 (可选)。
基本使用方法
-
安装并配置 MongoDB Lens 服务器 (按照上述安装步骤和服务器配置说明进行)。
-
配置 MCP 客户端 (例如 Claude Desktop 或 MCP Inspector),将 MCP 服务器配置指向 MongoDB Lens 服务器的启动命令和参数。
-
启动 MCP 客户端。
-
在 MCP 客户端中与 MongoDB Lens 交互。您可以使用自然语言向客户端提问,例如:
- "列出所有数据库"
- "切换到 sample_mflix 数据库"
- "sample_mflix 数据库里 movies 集合有多少电影?"
- "查找评分最高的 5 部电影"
- "分析 movies 集合的 schema"
客户端会将您的自然语言问题转换为 MCP 请求发送给 MongoDB Lens 服务器,服务器执行相应的 MongoDB 操作并将结果返回给客户端。
注意:
- 请确保 MongoDB Lens 服务器能够连接到您的 MongoDB 数据库。
- 请根据您的 MCP 客户端的要求配置 MCP 服务器连接信息。
- 详细的使用示例和查询示例请参考仓库的 README.md 文件。
信息
分类
数据库与文件