项目简介

Azure Cosmos DB MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在作为 LLM(如 Claude、VS Code Copilot)与 Azure Cosmos DB 数据库之间的桥梁。它允许用户通过自然语言与数据库进行交互,例如,用户可以用自然语言提问“上个月排名前十的客户是谁?”,服务器会将这个问题转化为 Cosmos DB 查询并返回结果。

主要功能点

  • 自然语言查询 Cosmos DB: 允许用户使用自然语言提问来查询 Azure Cosmos DB 数据库,无需编写复杂的 SQL 查询语句。
  • MCP 协议支持: 基于标准的 Model Context Protocol 构建,确保与支持 MCP 协议的 LLM 客户端(如 Claude Desktop、VS Code Copilot)的兼容性。
  • 工具 (Tools) 注册与调用: 实现了 MCP 的工具 (Tools) 功能,目前预置了用于 Cosmos DB 数据库操作的工具,包括:
    • 'query_container': 执行 Cosmos DB 容器查询。
    • 'get_item': 根据 ID 获取 Cosmos DB 容器中的单条数据。
    • 'put_item': 在 Cosmos DB 容器中插入或替换数据。
    • 'update_item': 更新 Cosmos DB 容器中的数据。
  • Stdio 传输协议: 使用 Stdio 作为默认的传输协议,方便本地开发和部署。

安装步骤

  1. 安装 Node.js: 确保已安装 Node.js 14 或更高版本。
  2. 安装 Azure Cosmos DB 依赖: 确保已安装 Azure Cosmos DB NOSQL 账号或 Azure Cosmos DB 模拟器,并已导入示例数据集(仓库中 'dataset/vehciles' 目录)。
  3. 安装 Claude Desktop (可选) 或 VS Code Insiders (可选): 如果需要与 Claude Desktop 或 VS Code Copilot 集成,请安装相应的客户端。
  4. 克隆仓库: 将仓库 'azure-cosmos-mcp-server' 克隆到本地。
  5. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入您的 Azure Cosmos DB 账号 URI 和 KEY:
    COSMOSDB_URI=<Your Cosmos DB Account URI>
    COSMOSDB_KEY=<Your Cosmos DB KEY>
  6. 安装依赖: 在项目根目录下运行命令 'npm install' 安装项目依赖。
  7. 构建项目: 运行命令 'npm run build' 构建项目。
  8. 启动服务器: 进入 'dist' 目录,运行命令 'npm start' 启动服务器。
  9. 确认服务器启动: 在终端看到 'Azure Cosmos DB Server running on stdio' 表示服务器已成功启动。

服务器配置

对于 MCP 客户端(如 Claude Desktop 或 VS Code Copilot),需要配置 MCP 服务器的连接信息。以下是 Claude Desktop 的配置示例,VS Code Copilot 的配置类似,需要参考其文档进行配置。

Claude Desktop 配置 (claude_desktop_config.json):

{
  "mcpServers": {
    "cosmosdb": {  //  服务器名称,客户端用于识别和调用
      "command": "node",  // 启动服务器的命令,这里使用 node
      "args": [ "<Your Path>/azure-cosmos-mcp-server/dist/index.js" ],  //  启动命令的参数,指向服务器入口文件,需要替换为实际路径
      "env": {  //  环境变量,传递 Cosmos DB 的连接信息
        "COSMOSDB_URI": "<Your Cosmos DB Account URI>",  //  替换为您的 Cosmos DB 账号 URI
        "COSMOSDB_KEY": "<Your Cosmos DB KEY>"   //  替换为您的 Cosmos DB KEY
      }
    }
  }
}

VS Code Copilot 配置 (mcp.json):

将仓库中的 '.vscode/mcp.json' 文件复制到您的 VS Code 项目根目录。该文件已经预配置了连接到本地运行的 Azure Cosmos DB MCP Server 的信息,您可能需要根据实际情况调整 'command' 和 'args' 中的路径。

基本使用方法

  1. 启动 MCP 服务器: 按照上述步骤启动 Azure Cosmos DB MCP Server。
  2. 配置 MCP 客户端: 根据您使用的 MCP 客户端(Claude Desktop 或 VS Code Copilot)的文档,配置连接到本地运行的 MCP 服务器。
  3. 在 MCP 客户端中发起请求: 在 Claude Desktop 或 VS Code Copilot 中,可以使用自然语言提问,例如:
    • "List Vehicles" (列出车辆信息)
    • "What are the models of Toyota vehicles?" (丰田车辆的型号有哪些?)
    • "Find vehicles manufactured in 2022" (查找2022年生产的车辆)
    • 或者使用更明确的指令指示 Agent 使用 Cosmos DB MCP Server,例如 "Use Azure Cosmos DB MCP Server to list vehicles"。

MCP 客户端会将这些自然语言请求转换为对 MCP 服务器的工具调用,服务器执行相应的 Cosmos DB 查询并将结果返回给客户端。

信息

分类

数据库与文件