项目简介
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 作为默认的传输协议,方便本地开发和部署。
安装步骤
- 安装 Node.js: 确保已安装 Node.js 14 或更高版本。
- 安装 Azure Cosmos DB 依赖: 确保已安装 Azure Cosmos DB NOSQL 账号或 Azure Cosmos DB 模拟器,并已导入示例数据集(仓库中 'dataset/vehciles' 目录)。
- 安装 Claude Desktop (可选) 或 VS Code Insiders (可选): 如果需要与 Claude Desktop 或 VS Code Copilot 集成,请安装相应的客户端。
- 克隆仓库: 将仓库 'azure-cosmos-mcp-server' 克隆到本地。
- 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入您的 Azure Cosmos DB 账号 URI 和 KEY:
COSMOSDB_URI=<Your Cosmos DB Account URI> COSMOSDB_KEY=<Your Cosmos DB KEY> - 安装依赖: 在项目根目录下运行命令 'npm install' 安装项目依赖。
- 构建项目: 运行命令 'npm run build' 构建项目。
- 启动服务器: 进入 'dist' 目录,运行命令 'npm start' 启动服务器。
- 确认服务器启动: 在终端看到 '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' 中的路径。
基本使用方法
- 启动 MCP 服务器: 按照上述步骤启动 Azure Cosmos DB MCP Server。
- 配置 MCP 客户端: 根据您使用的 MCP 客户端(Claude Desktop 或 VS Code Copilot)的文档,配置连接到本地运行的 MCP 服务器。
- 在 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 查询并将结果返回给客户端。
信息
分类
数据库与文件