对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs 菜单

MongoDB MCP Server 进行故障排除

使用此页面上的信息可帮助解决MongoDB MCP 服务器的问题。

如果 MCP 服务器出现问题,请检查 MCP 服务器日志以获取有助于解决问题的信息。

默认下,MCP 服务器将日志写入磁盘,并将日志发送到 MCP客户端。您可以更改 loggers 选项以指定日志的发送目标。有关 MCP 服务器选项的详细信息,请参阅MongoDB MCP 服务器配置选项。

下表显示了 MCP 服务器存储日志文件的默认目录:

操作系统
默认日志目录

Windows

%LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs

macOS 和 Linux

~/.mongodb/mongodb-mcp/.app-logs

要更改日志路径,设立以下选项之一:

  • logPath JSON配置文件中或启动 MCP 服务器时命令行上的选项

  • MDB_MCP_LOG_PATH 环境变量

确保您的配置文件正确,并且您为MongoDB 部署使用有效的连接字符串。

有关连接字符串格式和示例,请参阅连接字符串。

如果您使用HTTP传输并遇到连接问题:

  • 验证您的客户端连接URL是否包含 /mcp 端点路径:

    http://<server-address>:3000/mcp
  • 如果连接到远程服务器(不同的计算机、容器或云实例),请确保使用 --httpHost=0.0.0.0 启动服务器以接受远程连接:

    npx -y mongodb-mcp-server@latest --transport http --httpHost=0.0.0.0 --readOnly
  • 确保指定端口已打开并可从客户端计算机访问。

MongoDB MCP 服务器提供三类主要工具:用于管理Atlas基础架构的Atlas工具、用于管理本地部署的本地Atlas工具(类似于 Atlas CLI 提供的工具)以及用于数据操作的数据库工具。下表比较了每个工具的配置。

配置方面
Atlas 工具
本地Atlas工具
Database Tools

身份验证要求

必需: Atlas API凭证•
apiClientId(服务帐户ID)
•apiClientSecret (服务帐户密钥)

必须: Docker 运行时
• 无需其他凭证
• 自动托管本地部署

可选:多种连接方法
•
预配置的连接字符串• 的Atlas凭证• 通过atlas-connect-cluster
工具进行运行时连接connect
• 通过 进行本地部署atlas-local-connect-deployment

连接方法

基于API连接到Atlas Management API
• 无需直接数据库连接
• 使用Atlas REST API端点

本地部署管理
• 使用 Docker 容器
• 无需外部网络访问

直接连接到MongoDB数据库。可用的多个选项:
• 配置的连接字符串
• 运行时连接提示
• Atlas 集群发现
• 本地部署连接

权限要求

服务账户角色(Atlas 项目级别):
• Project Read Only(读取操作的最小值)
• Project Owner(用于集群创建/管理)
• Organization Owner(用于项目创建)

系统要求:
• Docker运行时权限
•
本地文件系统访问权限• 容器管理功能

数据库用户角色(如果适用):
•readAnyDatabase (只读模式)
•readWriteAnyDatabase (完整操作)
• 特定数据库/集合的自定义角色

配置选项

环境变量:
MDB_MCP_API_CLIENT_ID 或
MDB_MCP_API_CLIENT_SECRET

命令行:
• --apiClientId
• --apiClientSecret

环境变量:
• DOCKER_HOST (可选)

命令行:
• 无需特定 MCP 配置
• 自动检测 Docker 运行时

环境变量(可选):
MDB_MCP_CONNECTION_STRING

命令行(可选):
• 作为位置参数的连接字符串:
--connectionString

运行时方法:
• 通过 LLM 提示符进行交互式连接
• Atlas基于档案的发现

只读模式影响

• 读取操作: ✅ 可用
• 集群检查: ✅ 可用
• 集群创建: ❌ 已禁用
• 用户管理: ❌ 已禁用

• 本地部署创建: ✅ 可用
• 部署检查: ✅ 可用
• 容器管理: ✅ 可用
• 无只读限制

• 读取操作:✅ 可用
• 查询操作:✅ 可用
• 聚合:✅ 可用,前提是没有 $out 或 $merge 阶段。
• 插入/更新/删除:❌ 禁用
• 索引创建:❌ 禁用

工具类别

可以通过以下方式禁用:
--disabledTools atlas 或
MDB_MCP_DISABLED_TOOLS="atlas"

可以通过以下方式禁用:
--disabledTools atlas 或
MDB_MCP_DISABLED_TOOLS="atlas"

可以通过以下方式禁用:
--disabledTools mongodb 或
MDB_MCP_DISABLED_TOOLS="mongodb"

网络要求

到Atlas API 的出站 HTTPS:
• 标准互联网连接

本地 Docker 网络:
• Docker 守护进程访问
• 本地端口可用性
• 无外部网络要求

连接到 MongoDB 集群(如适用):
• Atlas:mongodb+srv:// (端口 27017)
• 分片集群(端口 27016)
• 自管理:自定义主机/端口
• 本地部署:Docker 网络
• 按需进行 VPC/网络访问

可用操作

•
组织管理•
项目管理• 集群生命周期(创建、检查、删除)
•数据库用户管理•
访问列表配置
•Performance Advisor建议
• 警报管理

• 本地部署创建和管理
• 容器生命周期操作
• 本地集群配置
• 开发环境设置
• 测试部署管理

• 增删改查操作(查找、插入、更新、删除)•


聚合管道• 索引管理•

集合和数据库管理• 模式检查•
向量搜索操作•
词法搜索操作• 数据导出

Error Scenarios

缺少 API 凭证:
Atlas 工具返回:"Atlas API 凭证未配置"

权限不足:
Atlas API 返回 HTTP 403 错误


Docker不可用:"Docker 守护进程 not 运行" 或 "Docker not installed"

容器问题:端口冲突、资源限制

连接失败(配置后):
网络超时、身份验证失败

缺少数据库权限:
MongoDB 授权错误

临时凭证

不适用:
使用持久性服务账户凭证

不适用:本地部署使用容器托管的身份验证


自动生成的数据库用户(如适用):使用不带连接字符串的Atlas API凭证时:
• 随机用户名/密码
4
•默认为 小时过期 • 自动角色分配

数据库工具支持多种连接方法,以满足不同的使用案例和安全要求:

  • 预配置连接字符串:通过CLI、环境变量或配置文件配置 connectionString,以实现持久数据库访问权限。

  • Atlas集群连接:使用 atlas-connect-cluster 工具和Atlas API凭证自动发现并连接到Atlas集群。

  • 运行时连接:使用 connect 工具在 LLM 对话期间以交互方式提供连接字符串 — 无需预先配置。

  • 本地部署连接:将 atlas-local-connect-deployment 与Docker结合使用来创建并连接到本地Atlas部署 - 需要Docker ,但无需配置。

安全建议:

  • 生产数据库:使用通过环境变量或Atlas API凭证预先配置的连接字符串,实现安全、自动化的连接。

  • 开发/测试:运行时连接或本地部署提供了灵活性,无需持久配置。

  • 聊天安全性:避免使用运行时连接方法,除非您确信聊天历史记录不会被存储或与第三方共享。