
MCP MongoDB Server是一个基于Model Context Protocol(模型上下文协议)的服务器,它允许语言模型(LLM)与MongoDB数据库进行交互。通过标准化的接口,MCP MongoDB Server提供了检查集合模式和执行MongoDB操作的能力。无论是查询文档、执行聚合管道,还是创建索引,MCP MongoDB Server都能轻松应对。

一、关键特性
(一)智能ObjectId处理
MCP MongoDB Server提供了智能的ObjectId转换功能。它可以根据字段名称自动将字符串ID转换为MongoDB的ObjectId,也可以通过配置`objectIdMode`参数来控制转换行为。例如,`”auto”`模式会根据字段名称自动转换,`”none”`模式则不进行任何转换,而`”force”`模式会强制将所有字符串ID字段转换为ObjectId。这种灵活的处理方式使得与MongoDB的交互更加便捷。
(二)灵活配置
MCP MongoDB Server支持通过环境变量和命令行选项进行灵活配置。你可以通过设置`MCP_MONGODB_URI`环境变量来指定MongoDB的连接URI,也可以通过`–read-only`命令行选项以只读模式连接到数据库。这种灵活的配置方式使得MCP MongoDB Server能够适应各种不同的使用场景,无论是开发环境还是生产环境。
(三)只读模式
为了保护数据库免受意外写操作的影响,MCP MongoDB Server提供了只读模式。在只读模式下,所有写操作(如更新、插入、创建索引)都将被禁止。此外,MCP MongoDB Server还会使用MongoDB的次级读取偏好,以实现最佳性能。这种模式非常适合在生产环境中安全地连接到数据库。
(四)MongoDB操作支持
MCP MongoDB Server支持广泛的MongoDB操作,包括读操作和写操作。在读操作方面,你可以查询文档、执行聚合管道、统计匹配文档的数量,还可以获取集合的模式信息。在写操作方面,你可以更新文档、插入新文档、创建索引。这些操作使得MCP MongoDB Server能够满足各种数据处理需求。
(五)LLM集成
MCP MongoDB Server与LLM的集成非常紧密。它提供了集合补全功能,以增强LLM的交互体验。此外,它还支持模式推断,以帮助LLM更好地理解上下文。通过这些功能,MCP MongoDB Server能够为LLM提供丰富的数据洞察力。
二、安装与使用
(一)安装
MCP MongoDB Server可以通过npm进行全局安装,也可以通过源代码进行开发安装。
-
全局安装:
npm install -g mcp-mongo-server
-
开发安装:
# 克隆仓库
git clone https://github.com/kiliczsh/mcp-mongo-server.git
cd mcp-mongo-server
# 安装依赖
npm install
# 构建
npm run build
# 开发时自动重建
npm run watch
(二)基本使用
-
启动服务器:
# 使用MongoDB URI启动服务器
npx -y mcp-mongo-server mongodb://muhammed:kilic@localhost:27017/database
# 以只读模式启动服务器
npx -y mcp-mongo-server mongodb://muhammed:kilic@localhost:27017/database --read-only
-
使用环境变量:
# 设置MongoDB连接URI
export MCP_MONGODB_URI="mongodb://muhammed:kilic@localhost:27017/database"
# 启用只读模式
export MCP_MONGODB_READONLY="true"
# 启动服务器(如果未提供URI,则使用环境变量)
npx -y mcp-mongo-server
三、与Claude Desktop集成
MCP MongoDB Server可以与Claude Desktop进行集成,以便在Claude Desktop中使用MongoDB。你可以通过手动配置或使用GitHub包的方式将MCP MongoDB Server添加到Claude Desktop的配置文件中。
(一)手动配置
-
命令行参数方式:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database"
]
},
"mongodb-readonly": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database",
"--read-only"
]
}
}
}
-
环境变量方式:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server"
],
"env": {
"MCP_MONGODB_URI": "mongodb://muhammed:kilic@localhost:27017/database"
}
},
"mongodb-readonly": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server"
],
"env": {
"MCP_MONGODB_URI": "mongodb://muhammed:kilic@localhost:27017/database",
"MCP_MONGODB_READONLY": "true"
}
}
}
}
(二)GitHub包方式
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"github:kiliczsh/mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database"
]
},
"mongodb-readonly": {
"command": "npx",
"args": [
"-y",
"github:kiliczsh/mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database",
"--read-only"
]
}
}
}
四、应用场景
(一)自然语言处理与数据分析
在自然语言处理(NLP)和数据分析领域,MCP MongoDB Server能够帮助语言模型(LLM)与MongoDB数据库无缝对接。例如,数据科学家可以利用LLM生成的自然语言查询,通过MCP MongoDB Server快速检索MongoDB中的数据。这使得数据科学家能够专注于数据分析和模型训练,而无需深入了解MongoDB的复杂操作。
(二)智能客服系统
在智能客服系统中,MCP MongoDB Server可以作为后端数据接口,支持LLM快速检索客户信息、订单记录等数据。这使得客服机器人能够提供更精准、更个性化的服务。
(三)物联网(IoT)数据处理
物联网设备产生的数据通常存储在MongoDB等NoSQL数据库中。MCP MongoDB Server可以作为中间件,支持LLM对这些数据进行实时分析和处理。例如,LLM可以通过MCP MongoDB Server查询设备的实时状态、历史数据,并进行故障预测和优化建议。
(四)数据可视化与报告生成
在数据可视化和报告生成领域,MCP MongoDB Server可以与LLM结合,快速生成基于MongoDB数据的可视化报告。LLM可以根据用户的需求生成SQL查询或MongoDB操作指令,通过MCP MongoDB Server获取数据,并生成图表、报表等可视化内容。
(五)机器学习与数据标注
在机器学习项目中,数据标注是一个关键步骤。MCP MongoDB Server可以帮助LLM快速检索和标注MongoDB中的数据。例如,LLM可以通过MCP MongoDB Server查询未标注的数据记录,生成标注建议,并将标注结果存储回MongoDB中。
往期推荐
Redis MCP Server:用自然语言驱动Redis的AI原生存储引擎
【Chrome MCP Server】GitHub趋势榜第一,这个开源神器让AI操控你的浏览器,效率提升300%!
【Firecrawl MCP Server】90%的AI开发者不知道:用这个工具数据采集效率提升10倍
【MCP Server Chart】25+图表一键生成!阿里工程师偷偷在用的可视化工具,终于开源了
(文:小兵的AI视界)