MongoDB MCP服务器
用于与MongoDB数据库和MongoDB Atlas交互的MCP服务器,提供查询、模式检查和数据管理工具。
设置
使用工具CLI
从安装CLIhttps://github.com/zerocore-ai/tool-cli
# Install from tool.store
tool install library/mongodb# View available tools
tool info library/mongodb# List databases
tool call library/mongodb -m list-databases# Run a find query
tool call library/mongodb -m find -p database=test -p collection=users先决条件
- Node.js 20.19.0+、22.12.0+或23+
- MongoDB连接字符串
配置
| 字段 | 必填 | 描述 |
|---|---|---|
connection_string | Yes | MongoDB连接字符串(例如。, mongodb+srv://...) |
工具
aggregate
对MongoDB集合运行聚合管道。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
pipeline | array | Yes | 要执行的聚合阶段数组 |
responseBytesLimit | number | No | 返回的最大字节数(默认值:1048576) |
find
对MongoDB集合运行查找查询。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
filter | object | 否 | 查询筛选器(MongoDB语法) |
projection | object | 否 | 要包含/排除的字段 |
limit | number | No | 要返回的最大文档数(默认值:10) |
sort | object | 否 | 排序顺序(1升序,-1降序) |
responseBytesLimit | number | No | 返回的最大字节数(默认值:1048576) |
count
获取集合中的文档数量。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
query | object | 否 | 筛选以计数匹配的文档 |
insert-many
将一组文档插入到集合中。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
documents | array | 是 | 要插入的文档数组 |
update-many
更新与筛选器匹配的所有文档。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
filter | object | 是 | 更新的选择标准 |
update | object | 是 | 更新要应用的操作 |
upsert | boolean | 否 | 如果没有匹配的文档,则插入 |
delete-many
删除与筛选器匹配的所有文档。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
filter | object | 否 | 删除条件 |
collection-schema
描述集合的推断模式。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
sampleSize | number | 否 | 要采样的文档(默认值:50) |
responseBytesLimit | number | No | 返回的最大字节数(默认值:1048576) |
collection-indexes
列出集合的索引。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
create-index
在集合上创建索引。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
name | string | 否 | 索引名称 |
definition | array | Yes | 带类型和键的索引定义 |
drop-index
从集合中删除索引。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
indexName | string | 是 | 要删除的索引的名称 |
type | string | 否 | 索引类型(默认:“classic”) |
list-databases
列出连接的所有数据库。
输入: 无需。
输出:
| 字段 | 类型 | 描述 |
|---|---|---|
databases | array | 包含名称和大小的数据库列表 |
totalCount | number | 数据库总数 |
list-collections
列出数据库中的所有集合。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
db-stats
获取数据库的统计信息。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection-storage-size
获取集合的存储大小。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
create-collection
创建新收藏。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
drop-collection
删除集合及其索引。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
rename-collection
重命名集合。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 当前集合名称 |
newName | string | 是 | 新集合名称 |
dropTarget | boolean | 否 | 删除目标集合(如果存在)(默认值:false) |
drop-database
删除数据库及其所有数据。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
connect
连接到MongoDB实例。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
connectionString | string | 是 | MongoDB连接字符串(MongoDB://或MongoDB+srv://) |
explain
获取查询计划的执行统计信息。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
method | array | Yes | 解释方法(聚合、查找或计数) |
verbosity | string | 否 | 详细级别(默认值:“queryPlanner”) |
export
将查询或聚合结果导出到EJSON。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
database | string | 是 | 数据库名称 |
collection | string | 是 | 集合名称 |
exportTitle | string | 是 | 标识导出的简短描述 |
exportTarget | array | Yes | 导出目标(查找或聚合参数) |
jsonExportFormat | string | 否 | 格式:“relaxed”或“canonical”(默认:“relaked”) |
mongodb-logs
获取最近的mongod日志事件。
输入:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
type | string | 否 | 日志类型:“global”或“startupWarnings”(默认值:“全局”) |
limit | integer | 否 | 最大日志条目数(默认值:50,最大值:1024) |
许可证
阿帕奇-2.0
参考文献
- https://github.com/mongodb-js/mongodb-mcp-server
