Token导航 LogoToken导航TokenDH.com
Mongodb MCP Juniper logo
数据服务stdio官方级别未说明来源级核验

Mongodb MCP Juniper

MCP Server

mongodb-mcp-server@latest

一个用于与MongoDB数据库和MongoDB Atlas交互的模型上下文协议服务器,提供数据库连接、查询和管理功能。

工具数

33

提示词数

0

GitHub Stars

0

资源数

0
数据分析JavaScriptClaudeClaude DesktopClaudeCursorWindsurfVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aiminnovations

提供方

aiminnovations

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y mongodb-mcp-server@latest --readOnly

详细介绍

![Install in VS Code](https://insiders.vscode.dev/redirect/mcp/install?name=mongodb&inputs=%5B%7B%22id%22%3A%22connection_string%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22MongoDB%20connection%20string%22%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22mongodb-mcp-server%22%2C%22--readOnly%22%5D%2C%22env%22%3A%7B%22MDB_MCP_CONNECTION_STRING%22%3A%22%24%7Binput%3Aconnection_string%7D%22%7D%7D) ![Install in Cursor](https://cursor.com/install-mcp?name=MongoDB&config=eyJjb21tYW5kIjoibnB4IC15IG1vbmdvZGItbWNwLXNlcnZlciAtLXJlYWRPbmx5In0%3D)

MongoDB MCP 服务器

一个用于与MongoDB数据库和MongoDB Atlas交互的模型上下文协议服务器。

📚 目录

- 先决条件 - 设置 - 快速入门

- MongoDB Atlas 工具 - MongoDB 数据库工具

- 配置选项 - Atlas API 访问 - 配置方法 - 环境变量 - 命令行参数 - MCP客户端配置 - 代理支持

先决条件

  • Node.js

- 至少20.19.0 - 当使用 v22 时,至少应使用 v22.12.0 版本 - 否则任何23+版本均可

node -v
  • 一个MongoDB连接字符串或Atlas API凭据, _除非进行配置,否则服务器不会启动_

- _服务帐户Atlas API凭据_ 要求使用 Atlas 工具。您可以在 MongoDB Atlas 中创建一个服务账户,并使用其凭据进行身份验证。请参阅 阿特拉斯API访问 了解更多详情。 - 如果您有一个MongoDB连接字符串,您可以直接使用它来连接到您的MongoDB实例。

设置

快速入门

🔒 安全建议1: 当使用Atlas API凭据时,请确保仅为您的服务帐户分配所需的最小权限。请参阅 Atlas API 权限 详情请见。
🔒 安全建议2: 为了增强安全性,我们强烈建议使用环境变量来传递敏感配置(如连接字符串和API凭据),而不是使用命令行参数。命令行参数可能会在进程列表中可见,并记录在各种系统位置,从而可能泄露您的机密信息。环境变量提供了一种更安全的方式来处理敏感信息。

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

注:不同客户端的配置文件语法可能有所不同。请参考以下链接获取最新的预期语法:

  • 风帆冲浪https://docs.windsurf.com/windsurf/mcp 翻译为中文是:“https://docs.windsurf.com/windsurf/mcp(网址保持不变)”。不过,如果要描述这个网址的内容或用途,可以翻译为:“这是关于Windsurf MCP(多频道处理/模块控制面板等,具体根据上下文确定)的官方文档网址。” 但直接翻译网址本身是没有意义的,所以通常我们只保留原网址
  • VSCodehttps://code.visualstudio.com/docs/copilot/chat/mcp-servers 的中文翻译为:“https://code.visualstudio.com/docs/copilot/chat/mcp-servers(关于Visual Studio Code中的Copilot聊天功能的MCP服务器文档)”。不过,通常我们不会直接翻译网址,而是直接引用或说明其内容,如“关于Visual Studio Code中Copilot聊天功能的MCP服务器相关文档”。如果需要更简洁的表述,可以写为“Visual Studio Code Copilot聊天功能的MCP服务器文档链接”
  • Claude Desktop(可译为“Claude桌面版”或保持原样,具体根据语境决定是否需要翻译软件名称)https://modelcontextprotocol.io/quickstart/user 翻译为中文是:“https://modelcontextprotocol.io/快速入门/用户”
  • 光标https://docs.cursor.com/context/model-context-protocol 翻译为中文是:“https://docs.cursor.com/context/模型上下文协议”
默认安全通知: 以下所有示例均包含 --readOnly 默认情况下,为确保您的数据安全,仅提供只读访问权限。移除(或取消) --readOnly 如果你需要启用写操作。

选项1:连接字符串

你可以通过环境变量传递你的连接字符串,请确保使用有效的用户名和密码。

{
  "mcpServers": {
    "MongoDB": {
      "command": "npx",
      "args": ["-y", "mongodb-mcp-server@latest", "--readOnly"],
      "env": {
        "MDB_MCP_CONNECTION_STRING": "mongodb://localhost:27017/myDatabase"
      }
    }
  }
}

注:连接字符串可以配置为连接到任何MongoDB集群,无论是本地实例还是Atlas集群。

选项2:Atlas API凭证

使用您的Atlas API服务帐户凭据。必须按照以下所有步骤操作 Atlas API访问 部分。

{
  "mcpServers": {
    "MongoDB": {
      "command": "npx",
      "args": ["-y", "mongodb-mcp-server@latest", "--readOnly"],
      "env": {
        "MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
        "MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
      }
    }
  }
}

选项3:使用环境变量和命令行参数的独立服务

你可以从配置文件中获取定义的环境变量,或者像下面的示例一样显式地设置它们,然后通过 npx 运行服务器。

# Set your credentials as environment variables first
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"

# Then start the server
npx -y mongodb-mcp-server@latest --readOnly
💡 平台说明: 上述示例使用的是Unix/Linux/macOS的语法。对于Windows用户,请参阅 环境变量 对于特定平台的说明。
  • 要查看完整的配置选项列表,请参阅 配置选项
  • 要配置您的Atlas服务帐户凭据,请参阅 Atlas API访问
  • 在MCP文件中通过环境变量设置连接字符串 例子
  • 在MCP文件中通过环境变量获取Atlas API凭证 示例

选项4:使用Docker

你可以在Docker容器中运行MongoDB MCP服务器,这样既能提供隔离性,又无需本地安装Node.js。

使用环境变量运行

您可以提供MongoDB连接字符串或Atlas API凭据中的任意一种:

选项A:无需配置

docker run --rm -i \
  mongodb/mongodb-mcp-server:latest

选项B:使用MongoDB连接字符串

# Set your credentials as environment variables first
export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"

# Then start the docker container
docker run --rm -i \
  -e MDB_MCP_CONNECTION_STRING \
  -e MDB_MCP_READ_ONLY="true" \
  mongodb/mongodb-mcp-server:latest
💡 平台备注: 上述示例使用的是Unix/Linux/macOS的语法。对于Windows用户,请参阅 环境变量 针对特定平台的说明。

选项C:使用Atlas API凭据

# Set your credentials as environment variables first
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"

# Then start the docker container
docker run --rm -i \
  -e MDB_MCP_API_CLIENT_ID \
  -e MDB_MCP_API_CLIENT_SECRET \
  -e MDB_MCP_READ_ONLY="true" \
  mongodb/mongodb-mcp-server:latest
💡 平台备注: 上述示例使用的是Unix/Linux/macOS的语法。对于Windows用户,请参阅 环境变量 针对特定平台的说明。

在MCP配置文件中的Docker

无选项:

{
  "mcpServers": {
    "MongoDB": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-e",
        "MDB_MCP_READ_ONLY=true",
        "-i",
        "mongodb/mongodb-mcp-server:latest"
      ]
    }
  }
}

使用连接字符串:

{
  "mcpServers": {
    "MongoDB": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "MDB_MCP_CONNECTION_STRING",
        "-e",
        "MDB_MCP_READ_ONLY=true",
        "mongodb/mongodb-mcp-server:latest"
      ],
      "env": {
        "MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
      }
    }
  }
}

使用Atlas API凭据:

{
  "mcpServers": {
    "MongoDB": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "MDB_MCP_READ_ONLY=true",
        "-e",
        "MDB_MCP_API_CLIENT_ID",
        "-e",
        "MDB_MCP_API_CLIENT_SECRET",
        "mongodb/mongodb-mcp-server:latest"
      ],
      "env": {
        "MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
        "MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
      }
    }
  }
}

选项5:作为HTTP服务器运行

⚠️ 安全通知: 此服务器现已支持远程连接的Streamable HTTP传输。 不建议在未实施适当的身份验证和安全措施的情况下,将HTTP传输用于生产环境。

建议的安全措施示例:

  • 实现认证(例如,API网关、反向代理)
  • 使用HTTPS/TLS加密
  • 部署在防火墙后或私有网络中
  • 实现速率限制
  • 永远不要直接暴露在互联网上

如需更多详情,请参阅 MCP(多协议控制器/某特定系统或协议的缩写,具体含义需根据上下文确定)安全最佳实践

你可以将 MongoDB MCP 服务器作为 HTTP 服务器运行,而不是使用默认的 stdio 传输方式。如果你希望通过 HTTP 与服务器进行交互,例如从网页客户端访问,或者将服务器暴露在特定端口上,这种方法非常有用。

要使用HTTP传输启动服务器,请使用 --transport http 选项:

npx -y mongodb-mcp-server@latest --transport http

默认情况下,服务器将监听在 http://127.0.0.1:3000您可以使用(相关工具或设置)来自定义主机和端口 --httpHost 并且 --httpPort 选项:

npx -y mongodb-mcp-server@latest --transport http --httpHost=0.0.0.0 --httpPort=8080
  • --httpHost (默认:127.0.0.1):HTTP 服务器绑定的主机。
  • --httpPort (默认:3000):HTTP 服务器的端口号。
注: 默认传输方式是 stdio,这适用于与大多数MCP客户端进行集成。使用 http 如果你需要通过HTTP与服务器进行交互,则需要传输(数据)。

🛠️ 支持的工具

工具列表

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-list-alerts - 列出项目中的MongoDB Atlas警报

注:只有在您设置了凭据后,才能使用atlas工具 配置 部分。

MongoDB 数据库工具

  • connect - 连接到MongoDB实例
  • find - 在MongoDB集合上运行查找查询。返回的文档数量受到限制 limit 参数和服务器的 maxDocumentsPerQuery 配置(两者取较小者)。返回文档的总大小也受到限制 responseBytesLimit 参数和服务器的 maxBytesPerQuery 配置,以较小者为准。
  • aggregate - 对MongoDB集合执行聚合操作。返回的文档数量受服务器限制 maxDocumentsPerQuery 配置。返回文档的总大小也受到限制 responseBytesLimit 参数和服务器的 maxBytesPerQuery 配置,以较小者为准。
  • 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数据库的统计信息
  • export - 导出查询或聚合结果为EJSON格式。创建一个具有唯一名称的导出文件,可通过 exported-data 资源。

📄 支持的资源

  • config - 服务器配置,由用户以环境变量或启动参数的形式提供,其中敏感参数已做遮蔽处理。可通过URI访问该资源 config://config.
  • debug - MongoDB连接问题的调试信息。记录最后一次连接尝试和错误信息。可通过URI访问该资源 debug://mongodb
  • exported-data - 一个资源模板,用于访问使用导出工具导出的数据。该模板可通过URI访问 exported-data://{exportName} 哪里 exportName 是由导出工具生成的导出项的唯一名称。

配置

🔒 安全最佳实践: 我们强烈建议使用环境变量来存储敏感配置,如API凭据(MDB_MCP_API_CLIENT_IDMDB_MCP_API_CLIENT_SECRET)和连接字符串(MDB_MCP_CONNECTION_STRING) 而不是命令行参数。环境变量在进程列表中不可见,为您的敏感数据提供了更好的安全性。

MongoDB MCP 服务器可以通过多种方法进行配置,以下为配置的优先级顺序(从高到低):

  1. 命令行参数
  2. 环境变量

配置选项

CLI 选项环境变量默认值描述
apiClientIdMDB_MCP_API_CLIENT_ID用于身份验证的Atlas API客户端ID。运行Atlas工具时必需。 (此行无实际内容,故翻译为)
apiClientSecretMDB_MCP_API_CLIENT_SECRETAtlas API客户端密钥,用于身份验证。运行Atlas工具时必需。 (此行无实际内容,若作为格式分隔则可忽略翻译,若需说明可译为)(无实际意义,此处为格式分隔)
connectionStringMDB_MCP_CONNECTION_STRING用于直接数据库连接的MongoDB连接字符串。可选,如果不设置,则需要调用 connect 在与MongoDB数据交互之前,请使用工具。 (这个竖线可能表示分隔或某种特定的格式要求,但单独来看,它没有具体的翻译内容,因此可以保留原样或根据上下文进行适当处理。)在中文中,如果这是一个分隔符,可以简单地保留为“”,或者根据具体语境,用“”来表示分隔或某种特定的含义
loggersMDB_MCP_LOGGERSdisk,mcp逗号分隔值,可能的值为 mcpdisk 并且 stderr. 查看 日志记录选项 详情如下。
logPathMDB_MCP_LOG_PATH查看注释\*用于存储日志的文件夹。
disabledToolsMDB_MCP_DISABLED_TOOLS将禁用的一系列工具名称、操作类型和/或工具类别。
confirmationRequiredToolsMDB_MCP_CONFIRMATION_REQUIRED_TOOLScreate-access-list, create-db-user, drop-database, drop-collection, delete-many一个工具名称数组,这些工具在执行前需要用户确认。 要求客户端支持 引出(或诱发).
readOnlyMDB_MCP_READ_ONLYfalse(当设置为true时)仅允许读取、连接和元数据操作类型,禁用创建/更新/删除操作。
indexCheckMDB_MCP_INDEX_CHECKfalse当设置为 true 时,强制查询操作必须使用索引,拒绝执行集合扫描的查询。
telemetryMDB_MCP_TELEMETRY已启用当设置为禁用时,禁用遥测数据收集。
transportMDB_MCP_TRANSPORTstdio(标准输入输出)可以是 'stdio' 或 'http'。
httpPortMDB_MCP_HTTP_PORT3000端口号。
httpHostMDB_MCP_HTTP_HOST127.0.0.1绑定HTTP服务器的主机。
idleTimeoutMsMDB_MCP_IDLE_TIMEOUT_MS600000客户端空闲超时断开连接(仅适用于HTTP传输)。
maxBytesPerQueryMDB_MCP_MAX_BYTES_PER_QUERY16777216 (16MiB)从一个(查询/操作)返回的结果的最大字节大小 find 或者 aggregate 工具调用。这作为(某值或范围的)上限 responseBytesLimit 这些工具中的参数。
maxDocumentsPerQueryMDB_MCP_MAX_DOCUMENTS_PER_QUERY100一个查询最多可以返回的文档数量 find 或者 aggregate 工具调用。对于 find 工具,有效限制将是此值与工具(的某个限制值)中较小的那个 limit 参数。
notificationTimeoutMsMDB_MCP_NOTIFICATION_TIMEOUT_MS540000客户端意识到断开连接的通知超时时间(仅适用于HTTP传输)。
exportsPathMDB_MCP_EXPORTS_PATH查看备注\*用于存储导出数据文件的文件夹。
exportTimeoutMsMDB_MCP_EXPORT_TIMEOUT_MS300000导出文件被视为过期并可进行清理的毫秒时间。 (此行为空白,无实际内容可翻译)
exportCleanupIntervalMsMDB_MCP_EXPORT_CLEANUP_INTERVAL_MS120000删除过期导出文件的导出清理周期之间的时间(毫秒)。
atlasTemporaryDatabaseUserLifetimeMsMDB_MCP_ATLAS_TEMPORARY_DATABASE_USER_LIFETIME_MS14400000当连接到MongoDB Atlas集群时,临时数据库用户创建的数据库将在该时间(毫秒)内保持活跃,之后将被自动删除。
voyageApiKeyMDB_VOYAGE_API_KEY用于与Voyage AI通信的API密钥。用于生成向量搜索的嵌入。

日志记录选项

这个(或“该”) loggers 配置选项控制日志发送的位置。您可以指定一个或多个日志记录器类型,以逗号分隔的形式列出。可用选项包括:

  • mcp将日志发送到MCP客户端(如果客户端/传输支持)。
  • disk将日志写入磁盘文件。日志文件存储在日志路径中(参见 logPath (在上面)。
  • stderr将日志输出到标准错误(stderr),这在调试或容器运行时非常有用。

默认值: disk,mcp (日志被写入磁盘并发送到MCP客户端)。

你可以组合多个记录器,例如:。 --loggers disk stderr 或者 export MDB_MCP_LOGGERS="mcp,stderr"

示例:通过环境变量设置日志记录器

export MDB_MCP_LOGGERS="disk,stderr"
💡 平台说明: 对于Windows用户,请参阅 环境变量 用于平台特定说明。

示例:通过命令行参数设置日志记录器

npx -y mongodb-mcp-server@latest --loggers mcp stderr

日志文件位置

当使用时 disk 日志记录器,日志文件存储于:

  • Windows: %LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs
  • macOS/Linux: ~/.mongodb/mongodb-mcp/.app-logs

你可以通过以下方式覆盖日志目录: logPath 选项。

禁用工具

您可以通过使用(相关功能/选项)来禁用特定的工具或工具类别 disabledTools 选项。此选项接受一个字符串数组, 其中每个字符串可以是工具名称、操作类型或类别。

数组的构建方式取决于您使用的配置方法类型:

  • 为了 环境变量 配置时,使用逗号分隔的字符串: export MDB_MCP_DISABLED_TOOLS="create,update,delete,atlas,collectionSchema"
  • 对于 命令行参数 配置时,使用空格分隔的字符串: --disabledTools create update delete atlas collectionSchema.

工具的类别:

  • atlas - MongoDB Atlas 工具,如列出集群、创建集群等。
  • mongodb - MongoDB数据库工具,如find、aggregate等。

操作类型:

  • create - 创建资源的工具,如创建集群、插入文档等。
  • update - 用于更新资源的工具,例如更新文档、重命名集合等。
  • delete - 删除资源的工具,如删除文档、删除集合等。
  • read - 用于读取资源的工具,如查找、聚合、列出集群等。
  • metadata - 读取元数据的工具,例如列出数据库/集合/索引、推断集合模式等。
  • connect - 工具,允许您连接或切换到MongoDB实例的连接。如果此功能被禁用,则在启动服务器时,您需要通过配置提供一个连接字符串。

需要确认

如果您的客户端支持 引出(信息/反应等)您可以设置 MongoDB MCP 服务器,在执行某些工具之前要求用户确认。

当一个工具被标记为需要确认时,服务器将向客户端发送一个询问请求。支持询问功能的客户端随后会提示用户进行确认,并将响应发送回服务器。如果客户端不支持询问功能,该工具将在没有确认的情况下执行。

你可以设置 confirmationRequiredTools 配置选项,用于指定需要确认的工具名称。默认情况下,以下工具已启用此设置: drop-databasedrop-collectiondelete-manyatlas-create-db-useratlas-create-access-list

只读模式

这个(或“该”) readOnly 配置选项允许您限制MCP服务器仅使用具有“读取”、“连接”和“元数据”操作类型的工具。启用此选项后,所有具有“创建”、“更新”或“删除”操作类型的工具将不会在服务器上注册。

这在您希望提供对MongoDB数据的访问以便进行分析,但又不允许对数据或基础设施进行任何修改的情况下非常有用。

您可以使用以下方法启用只读模式:

  • 环境变量export MDB_MCP_READ_ONLY=true
  • 命令行参数--readOnly
💡 平台备注: 对于Windows用户,请参阅 环境变量 对于特定平台的说明。

当只读模式激活时,您会在服务器日志中看到一条消息,指示哪些工具因该限制而被阻止注册。

索引检查模式

indexCheck 配置选项允许您强制要求查询操作必须使用索引。启用此选项后,将拒绝执行集合扫描的查询,以确保更好的性能。

这在需要确保数据库查询得到优化的场景中非常有用。

您可以使用以下命令启用索引检查模式:

  • 环境变量export MDB_MCP_INDEX_CHECK=true
  • 命令行参数--indexCheck
💡 平台说明: 对于Windows用户,请参阅 环境变量 针对特定平台的说明。

当启用索引检查模式时,如果查询因未使用索引而被拒绝,您将看到一条错误消息。

出口

由(系统/设备等)导出的数据 export 工具被临时存储在配置的(位置/地方) exportsPath 在运行MCP服务器的机器上,直到被导出清理过程清理掉为止。如果 exportsPath 未提供配置时,将使用以下默认值:

  • Windows: %LOCALAPPDATA%\mongodb\mongodb-mcp\exports
  • macOS/Linux: ~/.mongodb/mongodb-mcp/exports

这个 exportTimeoutMs 配置控制着导出数据被视为过期并可进行清理的时间。默认情况下,导出数据在5分钟后(300000毫秒)过期。

exportCleanupIntervalMs 配置控制着清理进程运行的频率,以删除过期的导出文件。默认情况下,清理进程每2分钟(120000毫秒)运行一次。

遥测

telemetry 配置选项允许您禁用遥测数据收集。启用后,MCP 服务器将收集使用数据并将其发送到 MongoDB。

您可以使用以下方法禁用遥测:

  • 环境变量: export MDB_MCP_TELEMETRY=disabled
  • 命令行参数--telemetry disabled
  • “DO_NOT_TRACK”环境变量export DO_NOT_TRACK=1
💡 平台说明: 对于Windows用户,请参阅 环境变量 针对特定平台的说明。

Atlas API 访问

要使用Atlas API工具,您需要在MongoDB Atlas中创建一个服务帐户:

ℹ️ 注: 如需了解每个Atlas操作所需最低权限的详细列表,请参阅 Atlas API 权限 以下部分。
  1. 创建服务账户:

- 登录到 MongoDB Atlas cloud.mongodb.com 翻译为中文是:“MongoDB 云服务平台” - 导航至访问管理器 > 组织访问 - 点击“添加新项”>“应用程序”>“服务账户” - 为您的服务帐户输入名称、描述和过期时间(例如,“MCP,MCP服务器访问,7天”) - 仅为您的用例分配所需的最小权限。 - 见 “Atlas API Permissions” 详情见下。 - 点击“创建”

要了解更多关于服务帐户的信息,请查看 MongoDB Atlas 文档.

  1. 保存客户端凭据:

- 创建后,您将看到客户端ID和客户端密钥 - 重要提示: 立即复制并保存客户端密钥,因为它不会再显示

  1. 添加访问列表条目:

- 将您的IP地址添加到API访问列表中

  1. 配置MCP服务器:

- 使用以下其中一种配置方法来设置您的 apiClientId 并且 apiClientSecret

根据上面的信息,执行如下指令:Atlas API 权限

安全警告: 授予组织所有者角色很少是必要的,并且可能存在安全风险。请仅为您的使用场景分配所需的最小权限。

快速参考:每项操作所需的角色

你想做的工作最安全的角色分配(在哪里)
列出组织/项目组织成员或组织只读(组织)
创建新项目组织项目创建器 (Org)
查看项目中的集群/数据库项目只读(项目)
在项目中创建/管理集群项目集群管理器(项目)
管理项目访问列表项目IP访问列表管理员(项目)
管理数据库用户项目数据库访问管理员(项目)
  • 更倾向于项目级别的角色 对于大多数操作,仅分配给您需要管理或查看的特定项目。
  • 避免成为组织所有者 除非您需要对组织内的所有项目和设置拥有完全的管理控制权。

如需查看完整角色列表及其权限,请参阅 Atlas 用户角色文档

配置方法

环境变量

设置带有前缀的环境变量 MDB_MCP_ 接着是用大写字母和下划线表示的选项名称:

Linux/macOS(bash/zsh):

# Set Atlas API credentials (via Service Accounts)
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"

# Set a custom MongoDB connection string
export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"

# Set log path
export MDB_MCP_LOG_PATH="/path/to/logs"

Windows 命令提示符(cmd):

set "MDB_MCP_API_CLIENT_ID=your-atlas-service-accounts-client-id"
set "MDB_MCP_API_CLIENT_SECRET=your-atlas-service-accounts-client-secret"

set "MDB_MCP_CONNECTION_STRING=mongodb+srv://username:password@cluster.mongodb.net/myDatabase"

set "MDB_MCP_LOG_PATH=C:\path\to\logs"

Windows PowerShell:

# Set Atlas API credentials (via Service Accounts)
$env:MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
$env:MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"

# Set a custom MongoDB connection string
$env:MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"

# Set log path
$env:MDB_MCP_LOG_PATH="C:\path\to\logs"

MCP配置文件示例

包含环境变量的连接字符串

{
  "mcpServers": {
    "MongoDB": {
      "command": "npx",
      "args": ["-y", "mongodb-mcp-server"],
      "env": {
        "MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
      }
    }
  }
}

使用环境变量的Atlas API凭据

{
  "mcpServers": {
    "MongoDB": {
      "command": "npx",
      "args": ["-y", "mongodb-mcp-server"],
      "env": {
        "MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
        "MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
      }
    }
  }
}

命令行参数

在启动服务器时,将配置选项作为命令行参数传递:

🔒 安全提示: 对于API凭证和连接字符串等敏感配置,请使用环境变量,而不是命令行参数。
# Set sensitive data as environment variable
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"

# Start the server with command line arguments
npx -y mongodb-mcp-server@latest --logPath=/path/to/logs --readOnly --indexCheck
💡 平台说明: 上述示例使用的是Unix/Linux/macOS的语法。对于Windows用户,请参阅 环境变量 针对特定平台的说明。

MCP配置文件示例

包含命令行参数的连接字符串

🔒 安全提示: 我们不建议将连接字符串作为命令行参数传递。连接字符串可能包含凭据,这些凭据可能会在进程列表中可见,并被记录在各种系统位置,从而可能导致您的凭据泄露。相反,请进行配置(以安全方式) 通过环境变量设置连接字符串
{
  "mcpServers": {
    "MongoDB": {
      "command": "npx",
      "args": [
        "-y",
        "mongodb-mcp-server",
        "--connectionString",
        "mongodb+srv://username:password@cluster.mongodb.net/myDatabase",
        "--readOnly"
      ]
    }
  }
}

使用命令行参数的Atlas API凭据

🔒 安全提示: 我们不建议将Atlas API凭据作为命令行参数传递。提供的凭据可能会在进程列表和各种系统位置中可见并被记录,从而可能暴露您的凭据。相反,请进行配置 通过环境变量设置Atlas API凭证
{
  "mcpServers": {
    "MongoDB": {
      "command": "npx",
      "args": [
        "-y",
        "mongodb-mcp-server",
        "--apiClientId",
        "your-atlas-service-accounts-client-id",
        "--apiClientSecret",
        "your-atlas-service-accounts-client-secret",
        "--readOnly"
      ]
    }
  }
}

代理支持

MCP服务器将检测典型的代理环境变量并使用它们来 连接到Atlas API、您的MongoDB集群或任何其他外部调用 用于第三方服务,如OID提供者。其行为与……相同 mongosh 是的,所以相同的设置在MCP服务器上也能正常工作。

🤝贡献

有兴趣贡献吗?太棒了 请查看我们的 贡献指南 关于代码贡献、标准、添加新工具以及故障排除信息的指南。

目录标签

目录标签

数据分析JavaScriptClaude数据库管理本地部署MongoDB工具AtlasAPI数据查询服务器协议

支持客户端

Claude DesktopClaudeCursorWindsurfVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

mongodb-mcp-server@latest

工具数量(toolCount,工具数)

33

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP