首页/数据库/mongodb-mcp-server

mongodb-mcp-server

查看源码
2025-5-12
Words 2084Read Time 6 min
Score:90

用于连接MongoDB数据库和MongoDB Atlas集群的MCP服务器,支持多种数据库操作和Atlas管理工具。

MongoDB MCP Server

一个用于与 MongoDB 数据库和 MongoDB Atlas 交互的 Model Context Protocol 服务器。

📚 目录

  • 🚀 快速开始
    • 前提条件
    • 设置
      • 快速启动
  • 🛠️ 支持的工具
    • MongoDB Atlas 工具
    • MongoDB 数据库工具
  • ⚙️ 配置
    • 配置选项
    • Atlas API 访问
    • 配置方法
      • 环境变量
      • 命令行参数
      • MCP 客户端配置
  • 🤝 贡献

前提条件

  • Node.js (v20 或更高版本)
  • 一个 MongoDB 连接字符串或 Atlas API 凭证,除非配置正确,否则服务器将无法启动
    • Atlas API 凭证 是使用 Atlas 工具的必要条件。你可以在 MongoDB Atlas 中创建一个服务账户,并使用其凭证进行身份验证。详情请参阅 Atlas API 访问。
    • 如果你有 MongoDB 连接字符串,可以直接使用它连接到你的 MongoDB 实例。

设置

快速启动

大多数 MCP 客户端需要创建或修改配置文件以添加 MCP 服务器。

选项 1: 通过命令行参数传递连接字符串

你可以通过命令行参数传递连接字符串,确保使用有效的用户名和密码。

选项 2: 通过命令行参数传递 Atlas API 凭证

使用你的 Atlas API 服务账户凭证。更多详情请参阅 Atlas API 访问 部分。

其他选项

你也可以在配置文件中使用环境变量,或者在运行服务器时通过 npx 设置它们。
  • 在 MCP 文件中通过环境变量设置连接字符串 示例
  • 在 MCP 文件中通过环境变量设置 Atlas API 凭证 示例

🛠️ 支持的工具

工具列表

MongoDB Atlas 工具

  • atlas-list-orgs - 列出 MongoDB Atlas 组织
  • atlas-list-projects - 列出 MongoDB Atlas 项目
  • atlas-create-project - 创建新的 MongoDB Atlas 项目
  • atlas-list-clusters - 列出 MongoDB Atlas 集群
  • atlas-inspect-cluster - 检查特定的 MongoDB Atlas 集群
  • atlas-create-free-cluster - 创建免费的 MongoDB Atlas 集群
  • atlas-connect-cluster - 连接到 MongoDB Atlas 集群
  • atlas-inspect-access-list - 检查允许访问 MongoDB Atlas 集群的 IP/CIDR 范围
  • atlas-create-access-list - 配置 MongoDB Atlas 集群的 IP/CIDR 访问列表
  • atlas-list-db-users - 列出 MongoDB Atlas 数据库用户
  • atlas-create-db-user - 列出 MongoDB Atlas 数据库用户
注意:Atlas 工具仅在 配置 部分设置凭证后可用。

MongoDB 数据库工具

  • connect - 连接到 MongoDB 实例
  • find - 在 MongoDB 集合中执行查询
  • aggregate - 在 MongoDB 集合中执行聚合操作
  • count - 获取 MongoDB 集合中的文档数量
  • insert-one - 向 MongoDB 集合中插入单个文档
  • insert-many - 向 MongoDB 集合中插入多个文档
  • create-index - 为 MongoDB 集合创建索引
  • update-one - 更新 MongoDB 集合中的单个文档
  • update-many - 更新 MongoDB 集合中的多个文档
  • rename-collection - 重命名 MongoDB 集合
  • delete-one - 从 MongoDB 集合中删除单个文档
  • delete-many - 从 MongoDB 集合中删除多个文档
  • drop-collection - 从 MongoDB 数据库中移除集合
  • drop-database - 移除 MongoDB 数据库
  • list-databases - 列出 MongoDB 连接中的所有数据库
  • list-collections - 列出给定数据库中的所有集合
  • collection-indexes - 描述集合的索引
  • collection-schema - 描述集合的模式
  • collection-storage-size - 获取集合的大小(以 MB 为单位)
  • db-stats - 返回 MongoDB 数据库的统计信息

配置

MongoDB MCP 服务器可以通过多种方法进行配置,优先级从高到低如下:
  1. 命令行参数
  1. 环境变量

配置选项

选项
描述
apiClientId
Atlas API 客户端 ID,用于身份验证
apiClientSecret
Atlas API 客户端密钥,用于身份验证
connectionString
MongoDB 连接字符串,用于直接连接数据库(可选,用户可以选择在每次调用工具时提供)
logPath
存储日志的文件夹
disabledTools
一个数组,包含将被禁用的工具名称、操作类型和/或工具类别
readOnly
当设置为 true 时,仅允许读取和元数据操作类型,禁用创建/更新/删除操作
telemetry
当设置为 disabled 时,禁用遥测数据收集

日志路径

默认的日志存储位置如下:
  • Windows: %LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs
  • macOS/Linux: ~/.mongodb/mongodb-mcp/.app-logs

禁用工具

你可以通过 disabledTools 选项禁用特定工具或工具类别。该选项接受一个字符串数组,每个字符串可以是工具名称、操作类型或类别。
数组的构建方式取决于你使用的配置方法:
  • 对于 环境变量 配置,使用逗号分隔的字符串:export MDB_MCP_DISABLED_TOOLS="create,update,delete,atlas,collectionSchema"
  • 对于 命令行参数 配置,使用空格分隔的字符串:--disabledTools create update delete atlas collectionSchema
工具类别:
  • atlas - MongoDB Atlas 工具,例如列出集群、创建集群等。
  • mongodb - MongoDB 数据库工具,例如查询、聚合等。
操作类型:
  • create - 创建资源的工具,例如创建集群、插入文档等。
  • update - 更新资源的工具,例如更新文档、重命名集合等。
  • delete - 删除资源的工具,例如删除文档、移除集合等。
  • read - 读取资源的工具,例如查询、聚合、列出集群等。
  • metadata - 读取元数据的工具,例如列出数据库、列出集合、集合模式等。

只读模式

readOnly 配置选项允许你将 MCP 服务器限制为仅使用具有 "read" 和 "metadata" 操作类型的工具。启用后,所有具有 "create"、"update" 或 "delete" 操作类型的工具将不会注册到服务器。
这在你想提供对 MongoDB 数据的访问权限而不允许对数据或基础设施进行任何修改的场景中非常有用。
你可以通过以下方式启用只读模式:
  • 环境变量: export MDB_MCP_READ_ONLY=true
  • 命令行参数: --readOnly
当只读模式激活时,你会在服务器日志中看到一条消息,指示哪些工具由于此限制而未被注册。

遥测

telemetry 配置选项允许你禁用遥测数据收集。启用后,MCP 服务器将收集使用数据并将其发送到 MongoDB。
你可以通过以下方式禁用遥测:
  • 环境变量: export MDB_MCP_TELEMETRY=disabled
  • 命令行参数: --telemetry disabled
  • DO_NOT_TRACK 环境变量: export DO_NOT_TRACK=1

Atlas API 访问

要使用 Atlas API 工具,你需要在 MongoDB Atlas 中创建一个服务账户:
  1. 创建服务账户:
      • 导航到 Access Manager > Organization Access
      • 点击 Add New > Applications > Service Accounts
      • 输入服务账户的名称、描述和有效期(例如,"MCP, MCP Server Access, 7 days")
      • 选择适当的权限(对于完全访问权限,使用 Organization Owner)
      • 点击 "Create"
要了解更多关于服务账户的信息,请查看 MongoDB Atlas 文档
  1. 保存客户端凭证:
      • 创建后,你将看到客户端 ID 和客户端密钥
      • 重要: 立即复制并保存客户端密钥,因为它不会再次显示
  1. 添加访问列表条目(可选但推荐):
      • 将你的 IP 地址添加到 API 访问列表
  1. 配置 MCP 服务器:
      • 使用以下配置方法之一设置你的 apiClientIdapiClientSecret

配置方法

环境变量

使用前缀 MDB_MCP_ 后跟选项名称的大写形式(用下划线分隔)来设置环境变量:

MCP 配置文件示例

通过环境变量设置连接字符串

通过环境变量设置 Atlas API 凭证

命令行参数

在启动服务器时通过命令行参数传递配置选项:

MCP 配置文件示例

通过命令行参数设置连接字符串

通过命令行参数设置 Atlas API 凭证

🤝 贡献

有兴趣贡献代码吗?太好了!请查看我们的 贡献指南,了解代码贡献、标准、添加新工具和故障排除信息的指南。
上一篇
mcp-dataverse
下一篇
biomcp