Azure Cosmos DB MCP 服务器
这是什么? 🤔
这是一个服务器,可以让你的大语言模型(LLMs,如 Claude、VSCODE)直接与你的 Azure Cosmos DB 数据进行对话!你可以把它想象成一个友好的翻译官,它位于你的 AI 助手和数据库之间,确保它们能够安全高效地进行交流。
简单示例
它是如何工作的? 🛠️
该服务器利用了模型上下文协议(Model Context Protocol, MCP),这是一个多功能框架,充当 AI 模型和数据库之间的通用翻译器。尽管 MCP 旨在支持任何 AI 模型,但目前它仅在 Claude Desktop 中以开发者预览版的形式提供。
你只需要做以下几件事:
- 设置项目(见下文)
- 将你的项目详细信息添加到 Claude Desktop 的配置文件中
- 开始自然地与你的 Azure Cosmos DB 数据对话!
它能做什么? 📊
- 通过用通俗易懂的英语提问来运行 Azure Cosmos DB 查询
快速开始 🚀
先决条件
- Node.js 14 或更高版本
- Azure Cosmos DB NoSQL 账户或 Azure Cosmos DB 模拟器,并插入示例数据集(./dataset/vehicles)
- Claude Desktop
设置项目
从 Azure Cosmos DB 的“Keys”部分获取 NoSQL 账户的 URI 和 KEY,从“Data Explorer”部分获取数据库 ID 和容器 ID,然后创建一个
.env
文件,包含以下键值对,并将占位符替换为你自己的值:开始使用
- 安装依赖在项目根目录下运行以下命令以安装所有必要的依赖:
- 构建项目通过运行以下命令编译项目:
- 启动服务器进入
dist
文件夹并启动服务器:
- 确认消息你应该会看到以下消息:
如何使用 VSCODE Insiders 运行
要在 VS Code Insiders 中使用 Azure MCP 并启用 GitHub Copilot Agent 模式,请按照以下说明操作:
- 安装 VS Code Insiders。
- 在 VS Code Insiders 中安装 GitHub Copilot 和 GitHub Copilot Chat 扩展的预发布版本。
- 在一个空文件夹中打开一个新的 VS Code Insiders 实例。
- 将此仓库中的
mcp.json
文件复制到你的新文件夹中,并更新值以匹配你的环境。
- 打开 GitHub Copilot 并切换到 Agent 模式。你应该能在工具列表中看到 Azure Cosmos DB MCP Server。
- 尝试一个提示,告诉代理使用 Azure MCP 服务器,例如“列出车辆”。
- 代理应该能够使用 Azure Cosmos DB MCP 服务器来完成你的查询。
此设置允许你通过 VSCODE 中的 GitHub Copilot 无缝地与 Azure Cosmos DB 进行交互,如下所示。
将你的项目详细信息添加到 Claude Desktop 的配置文件中
打开 Claude Desktop,导航到 文件 -> 设置 -> 开发者 -> 编辑配置,打开
claude_desktop_config
文件,并用以下值替换:现在,你应该已经成功为 Claude Desktop 配置了 Azure Cosmos DB 的 MCP 服务器。此设置允许你通过 MCP 服务器无缝地与 Azure Cosmos DB 进行交互,如下所示。
贡献
本项目欢迎贡献和建议。大多数贡献要求你签署贡献者许可协议(CLA),声明你有权并确实授予我们使用你的贡献的权利。有关详细信息,请访问 https://cla.opensource.microsoft.com。
当你提交拉取请求时,CLA 机器人会自动确定你是否需要提供 CLA,并适当装饰 PR(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。你只需在所有使用我们 CLA 的仓库中执行一次此操作。
商标
本项目可能包含项目、产品或服务的商标或徽标。经授权使用 Microsoft 商标或徽标必须遵循 Microsoft 商标和品牌指南。在本项目的修改版本中使用 Microsoft 商标或徽标不得引起混淆或暗示 Microsoft 的赞助。任何第三方商标或徽标的使用均受这些第三方的政策约束。
- Author:waytomcp
- URL:https://www.waytomcp.com/article/AzureCosmosDB/azure-cosmos-mcp-server
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!