
用于连接MongoDB数据库和MongoDB Atlas集群的Model Context Protocol服务器。
什么是MCP服务器?
| 属性 | 详情 |
|---|---|
| Docker镜像 | mcp/mongodb |
| 作者 | mongodb-js |
| 代码仓库 | [***] |
| 属性 | 详情 |
|---|---|
| Dockerfile | [***] |
| Docker镜像构建方 | Docker Inc. |
| Docker Scout健康评分 | !Docker Scout健康评分 |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/mongodb --key [***] |
| 许可证 | Apache License 2.0 |
| 服务器提供的工具 | 简短描述 |
|---|---|
aggregate | aggregate |
collection-indexes | collection-indexes |
collection-schema | collection-schema |
collection-storage-size | collection-storage-size |
connect | connect |
count | count |
create-collection | create-collection |
create-index | create-index |
db-stats | db-stats |
delete-many | delete-many |
drop-collection | drop-collection |
drop-database | drop-database |
drop-index | drop-index |
explain | explain |
export | export |
find | find |
insert-many | insert-many |
list-collections | list-collections |
list-databases | list-databases |
mongodb-logs | mongodb-logs |
rename-collection | rename-collection |
update-many | update-many |
aggregate对MongoDB集合运行聚合操作
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
pipeline | array | 要执行的聚合阶段数组 |
responseBytesLimit | number 可选 | 响应中返回的最大字节数。此值受服务器配置的maxBytesPerQuery限制,不能超过该限制。注意(LLM):如果需要完整聚合结果,请使用"export"工具而非增加此限制。 |
此工具为只读,不会修改其环境。
collection-indexes描述集合的索引
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
此工具为只读,不会修改其环境。
collection-schema描述集合的模式
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
responseBytesLimit | number 可选 | 响应中返回的最大字节数。此值受服务器配置的maxBytesPerQuery限制,不能超过该限制。 |
sampleSize | number 可选 | 用于模式推断的文档样本数量 |
此工具为只读,不会修改其环境。
collection-storage-size获取集合的存储大小
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
此工具为只读,不会修改其环境。
connect连接到MongoDB实例。配置资源会记录服务器是否已连接到MongoDB集群。如果用户已配置连接字符串或之前调用过connect工具,则连接已建立,无需再次调用此工具,除非用户明确请求切换到新的MongoDB集群。
| 参数 | 类型 | 描述 |
|---|---|---|
connectionString | string | MongoDB连接字符串(mongodb://或mongodb+srv://格式) |
此工具为只读,不会修改其环境。
count使用db.collection.count()获取MongoDB集合中的文档数量,query为可选过滤参数
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
query | object 可选 | 过滤/查询参数。允许用户过滤要计数的文档。符合db.collection.count()的filter参数语法。 |
此工具为只读,不会修改其环境。
create-collection在数据库中创建新集合。如果数据库不存在,将自动创建。
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
create-index为集合创建索引
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
definition | array | 索引定义。使用'classic'表示标准索引,'vectorSearch'表示向量搜索索引 |
name | string 可选 | 索引名称 |
db-stats返回反映单个数据库使用状态的统计信息
| 参数 | 类型 | 描述 |
|---|---|---|
database | string | 数据库名称 |
此工具为只读,不会修改其环境。
delete-many从MongoDB集合中删除所有匹配过滤条件的文档
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
filter | object 可选 | 查询过滤器,指定删除条件。符合db.collection.deleteMany()的filter参数语法 |
此工具可能执行破坏性更新。
drop-collection从数据库中删除集合或视图。此方法还会删除与被删除集合关联的所有索引。
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
此工具可能执行破坏性更新。
drop-database删除指定数据库,删除相关数据文件
| 参数 | 类型 | 描述 |
|---|---|---|
database | string | 数据库名称 |
此工具可能执行破坏性更新。
drop-index删除指定数据库和集合的索引。
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
indexName | string | 要删除的索引名称 |
此工具可能执行破坏性更新。
explain返回描述查询优化器为评估方法选择的最佳执行计划的统计信息
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
method | array | 要运行的方法及其参数 |
verbosity | string 可选 | explain计划的详细级别,默认为queryPlanner。如果用户想了解查询的执行时间速度,使用executionStats。支持MongoDB驱动中定义的所有详细级别。 |
此工具为只读,不会修改其环境。
export以指定的EJSON格式导出查询或聚合结果。
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
exportTarget | array | 导出目标及其参数 |
exportTitle | string | 用于唯一标识导出的简短描述 |
jsonExportFormat | string 可选 | 以EJSON格式导出集合数据时使用的格式,默认为relaxed。 relaxed:强调可读性和互操作性而牺牲类型保留的字符串格式。即从relaxed格式转换为BSON可能会丢失类型信息。 canonical:强调类型保留而牺牲可读性和互操作性的字符串格式。即从canonical格式转换为BSON通常会保留类型信息,除非在某些特定情况下。 |
此工具为只读,不会修改其环境。
find对MongoDB集合运行find查询
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
filter | object 可选 | 查询过滤器,符合db.collection.find()的query参数语法 |
limit | number 可选 | 返回的最大文档数 |
projection | object 可选 | 投影,符合db.collection.find()的projection参数语法 |
responseBytesLimit | number 可选 | 响应中返回的最大字节数。此值受服务器配置的maxBytesPerQuery限制,不能超过该限制。注意(LLM):如果需要完整查询结果,请使用"export"工具而非增加此限制。 |
sort | object 可选 | 描述排序顺序的文档,符合cursor.sort()的sort参数语法。对象的键是排序字段,值是排序方向(1表示升序,-1表示降序) |
此工具为只读,不会修改其环境。
insert-many将文档数组插入MongoDB集合
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
documents | array | 要插入的文档数组,符合db.collection.insertMany()的document参数语法 |
list-collections列出给定数据库的所有集合
| 参数 | 类型 | 描述 |
|---|---|---|
database | string | 数据库名称 |
此工具为只读,不会修改其环境。
list-databases列出MongoDB连接的所有数据库
mongodb-logs返回最近记录的mongod事件
| 参数 | 类型 | 描述 |
|---|---|---|
limit | integer 可选 | 返回的最大日志条目数 |
type | string 可选 | 要返回的日志类型。Global返回所有最近的日志条目,startupWarnings仅返回进程启动时的警告和错误 |
此工具为只读,不会修改其环境。
rename-collection重命名MongoDB数据库中的集合
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
newName | string | 集合的新名称 |
dropTarget | boolean 可选 | 如果为true,若目标集合存在则删除它 |
update-many更新集合中所有匹配指定过滤器的文档
| 参数 | 类型 | 描述 |
|---|---|---|
collection | string | 集合名称 |
database | string | 数据库名称 |
update | object | 使用更新操作符表达式描述要应用的修改的更新文档 |
filter | object 可选 | 更新的选择条件,符合db.collection.updateOne()的filter参数语法 |
upsert | boolean 可选 | 控制如果没有文档匹配过滤器是否插入新文档 |
json{ "mcpServers": { "mongodb": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "MDB_MCP_CONNECTION_STRING", "mcp/mongodb" ], "env": { "MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:***/myDatabase" } } } }
为什么使用Docker运行MCP服务器更安全?
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429