用于连接MongoDB数据库和MongoDB Atlas集群的Model Context Protocol服务器。
什么是MCP服务器?
| 属性 | 详情 |
|---|---|
| Docker镜像 | https://hub.docker.com/repository/docker/mcp/mongodb |
| 作者 | https://github.com/mongodb-js |
| 代码仓库 | https://github.com/mongodb-js/mongodb-mcp-server |
| 属性 | 详情 |
|---|---|
| Dockerfile | https://github.com/mongodb-js/mongodb-mcp-server/blob/main/Dockerfile |
| Docker镜像构建方 | Docker Inc. |
| Docker Scout健康评分 | !Docker Scout健康评分 |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/mongodb --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| 许可证 | 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:password@cluster.mongodb.net/myDatabase" } } } }
为什么使用Docker运行MCP服务器更安全?
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务