使用说明
MongoDB MCP服务器
用于MongoDB集成的模型上下文协议(MCP)服务器,通过标准化接口为AI系统提供数据库访问和管理功能。
概述
此MongoDB MCP服务器使AI系统能够执行各种MongoDB操作,包括:
- 创建数据库和集合
- 将数据插入集合
- 使用自然语言查询数据
- 管理产品评论和库存
- 处理支持票
- 分析运输地点和库存容量
- 生成分析见解
先决条件
- Node.js(v16或更高版本)
- npm或纱线
- MongoDB(本地安装或MongoDB Atlas帐户)
安装
- 克隆存储库:
git clone <repository-url>
cd mongo-mcp
- 安装依赖项:
npm install
- 创建一个
.env根目录中的文件,包含以下变量:
MONGO_URI=mongodb://localhost:27017
MONGO_DB_NAME=MONGO_DB_NAME
将MongoDB URI替换为您自己的连接字符串。您可以使用本地MongoDB实例或MongoDB Atlas连接字符串。
配置
MongoDB连接
服务器使用以下配置参数:
- 蒙古语:MongoDB连接字符串(默认值:
mongodb+srv://test.nckd7.mongodb.net/MONGO_DB_NAME) - MONGO_DB_NAME:要使用的MongoDB数据库的名称(默认值:
MONGO_DB_NAME)
您可以通过三种方式配置这些参数:
- 环境变量(建议用于生产)
.env文件(建议开发)- 中的默认值
src/config.ts(不建议用于生产)
MongoDB连接选项
连接选项在中定义 src/config.ts:
export const MONGO_OPTIONS = {
serverSelectionTimeoutMS: 5000, // 5 seconds timeout for server selection
connectTimeoutMS: 5000, // 5 seconds timeout for initial connection
};
建立和运行
构建服务器
npm run build
启动服务器
npm run start
使用开始脚本
为方便起见,您可以使用提供的启动脚本:
./start-mcp-server.sh
此脚本:
- 检查MongoDB是否在本地运行
- 构建服务器
- 为MongoDB连接设置环境变量
- 启动服务器
设置示例数据
服务器包括用于测试的示例数据。要设置此数据,请执行以下操作:
npm run setup-enhanced
这将使用示例数据创建以下集合:
- 评价
- 库存交易
- 支持票
- 装运位置
- 分析_事件
与CopilotKit集成
要在CopilotKit应用程序中配置此MCP服务器,请执行以下操作:
- 打开MCP配置模式
- 添加具有以下详细信息的新服务器:
- 服务器名称:
mongodb - 连接类型:
stdio - 命令:
node - 论据:
/path/to/mongo-mcp/build/index.js
- 服务器名称:
可用工具
基本工具
-
创建数据库
- 使用指定的集合创建新的MongoDB数据库
- 参数:
collections(集合名称数组)
-
插入数据
- 将数据插入MongoDB集合
- 参数:
collection(收藏名称),data(对象或对象数组)
-
查询数据
- 使用自然语言从MongoDB查询数据
- 参数:
collection(收藏名称),query(自然语言查询),limit(可选,最大结果)
增强工具
-
产品评论
- 通过过滤和排序选项获取产品评论
- 参数:
productId(可选),minRating(可选),verifiedOnly(可选),sortBy(可选),limit(可选)
-
库存管理
- 通过各种操作管理产品库存
- 参数:
operation(检查/历史记录/更新),productId,locationId(可选),quantity(可选),type(可选),notes(可选)
-
支持票
- 管理客户支持票
- 参数:
action(列表/查看/创建/更新),ticketId(可选),userId(可选),status(可选),priority(可选),subject(可选),description(可选),category(可选),limit(可选)
-
分析见解
- 从分析数据中获得见解
- 参数:
insightType,timeframe(可选),productId(可选),limit(可选)
-
装运地点
- 管理运输和仓库位置
- 参数:
action(列表/视图/容量),locationType(可选),locationCode(可选),activeOnly(可选)
用例
创建数据库和集合
{
"collections": ["users", "products", "orders"]
}
插入数据
{
"collection": "products",
"data": {
"name": "Laptop",
"price": 999.99,
"category": "Electronics",
"stock": 50
}
}
查询数据
{
"collection": "products",
"query": "find all laptops with price less than 1000",
"limit": 5
}
管理产品评论
{
"productId": "Laptop",
"minRating": 4,
"verifiedOnly": true,
"sortBy": "rating",
"limit": 10
}
检查库存
{
"operation": "check",
"productId": "Laptop"
}
管理支持票
{
"action": "list",
"status": "open",
"priority": "high",
"limit": 5
}
获取分析见解
{
"insightType": "product_popularity",
"timeframe": "month",
"limit": 5
}
管理运输地点
{
"action": "capacity",
"locationType": "warehouse",
"activeOnly": true
}
故障排除
MongoDB连接问题
如果您遇到连接问题:
-
验证MongoDB是否正在运行:
nc -z localhost 27017 -
检查您的MongoDB URI
.env文件或环境变量 -
确保与MongoDB实例的网络连接
-
检查MongoDB日志是否有任何错误:
sudo journalctl -u mongod
服务器启动问题
如果服务器无法启动:
-
检查生成错误:
npm run build -
验证Node.js版本:
node --version -
检查依赖关系问题:
npm install
许可证
国际协调委员会
贡献
欢迎投稿!请随时提交拉取请求。
