Azure Cosmos DB MCP CLient & Server

Azure Cosmos DB MCP CLient & Server

site icon
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 进行交互,构建一个包含产品目录和订单管理功能的电子商务平台。

核心功能

  1. 前端应用
  2. 展示产品目录
  3. 提供 AI 助手帮助用户查找产品和获取历史订单
  4. MCP 服务器
  5. 连接到 Azure Cosmos DB NoSQL 数据库
  6. 读取产品和订单数据
  7. 数据库支持
  8. 支持向量搜索功能
  9. 提供 RBAC 权限管理

适用场景

  1. 电子商务平台的产品目录管理
  2. 订单查询和管理系统
  3. 基于 AI 的产品推荐系统

工具列表

  1. Azure Cosmos DB:NoSQL 数据库服务
  2. Node.js:MCP 服务器运行环境
  3. NextJS:前端框架
  4. Azure Storage:存储产品图片
  5. Azure CLI:管理 Azure 资源

常见问题解答

  1. 如何启用向量搜索功能
  2. 在 Azure Cosmos DB 账户设置中启用 "Vector Search for NoSQL API"
  3. 如何配置 RBAC 权限
  4. 使用提供的 set_rbac.ps1 脚本配置
  5. 如何修改默认用户邮箱
  6. 修改 /nextjs/models/constants.ts 文件中的硬编码邮箱

使用教程

使用依赖

  1. 安装 Node.js v22.13.1 (LTS)
  2. 安装 Visual Studio Code x64 1.97.0
  3. 安装 Git 2.47.12 x64
  4. 安装 .NET SDK x64 v9.0.102

安装教程

  1. 克隆仓库:
git clone https://github.com/patrice-truong/cosmosdb-mcp.git
cd cosmosdb-mcp
  1. 安装前端依赖:
cd cosmosdb-mcp/nextjs
npm install --legacy-peer-deps
  1. 配置环境变量:
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>

调试方式

  1. 启动 MCP 服务器:
cd mcp-server
npx ts-node src/server.ts
  1. 启动前端应用:
cd nextjs
npm start
  1. 访问 http://localhost:3002 进行测试

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。