
Azure Cosmos DB MCP CLient & Server

2025.04.01
1
TypeScriptAzure Cosmos DBMCP 服务器NoSQL 数据库电子商务平台数据库开发效率
Azure Cosmos DB MCP Client & Server 是一个展示如何为 Azure Cosmos DB 创建 MCP 服务器和客户端的项目。该项目分为两部分:前端应用(NextJS 15)用于展示产品目录和 AI 助手功能,后端 MCP 服务器组件则连接到 Azure Cosmos DB NoSQL 数据库,负责读取产品和订单数据。
View on GitHub
Overview
基本能力
产品定位
该项目旨在展示如何利用 MCP 协议与 Azure Cosmos DB 进行交互,构建一个包含产品目录和订单管理功能的电子商务平台。
核心功能
- 前端应用:
- 展示产品目录
- 提供 AI 助手帮助用户查找产品和获取历史订单
- MCP 服务器:
- 连接到 Azure Cosmos DB NoSQL 数据库
- 读取产品和订单数据
- 数据库支持:
- 支持向量搜索功能
- 提供 RBAC 权限管理
适用场景
- 电子商务平台的产品目录管理
- 订单查询和管理系统
- 基于 AI 的产品推荐系统
工具列表
- Azure Cosmos DB:NoSQL 数据库服务
- Node.js:MCP 服务器运行环境
- NextJS:前端框架
- Azure Storage:存储产品图片
- Azure CLI:管理 Azure 资源
常见问题解答
- 如何启用向量搜索功能?
- 在 Azure Cosmos DB 账户设置中启用 "Vector Search for NoSQL API"
- 如何配置 RBAC 权限?
- 使用提供的 set_rbac.ps1 脚本配置
- 如何修改默认用户邮箱?
- 修改 /nextjs/models/constants.ts 文件中的硬编码邮箱
使用教程
使用依赖
- 安装 Node.js v22.13.1 (LTS)
- 安装 Visual Studio Code x64 1.97.0
- 安装 Git 2.47.12 x64
- 安装 .NET SDK x64 v9.0.102
安装教程
- 克隆仓库:
git clone https://github.com/patrice-truong/cosmosdb-mcp.git
cd cosmosdb-mcp
- 安装前端依赖:
cd cosmosdb-mcp/nextjs
npm install --legacy-peer-deps
- 配置环境变量:
AZURE_COSMOSDB_NOSQL_ENDPOINT=https://<cosmosdb_account_name>.documents.azure.com:443/
AZURE_COSMOSDB_NOSQL_DATABASE=eshop
AZURE_COSMOSDB_NOSQL_PRODUCTS_CONTAINER=products
AZURE_COSMOSDB_NOSQL_CARTS_CONTAINER=carts
AZURE_STORAGE_ACCOUNT_NAME=<storage_account_name>
AZURE_STORAGE_CONTAINER_NAME=<container_name>
调试方式
- 启动 MCP 服务器:
cd mcp-server
npx ts-node src/server.ts
- 启动前端应用:
cd nextjs
npm start
- 访问 http://localhost:3002 进行测试