使用说明
项目简介
Azure MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 客户端提供访问 Azure 云服务的能力。通过此服务器,LLM 可以安全、可控地与 Azure Blob Storage 和 Azure Cosmos DB 交互,执行各种数据操作,并记录所有操作审计日志。
主要功能点
- Azure Blob Storage 支持: 提供创建、列出、删除 Blob 容器,上传、删除、列出、读取 Blob 对象的功能。
- Azure Cosmos DB (NoSQL API) 支持: 提供创建、描述、列出、删除 Cosmos DB 容器,以及创建、读取、替换、删除、查询容器内数据项的功能。
- 操作审计日志: 所有通过服务器执行的 Azure 操作都会被详细记录,并可通过 'audit://azure-operations' 资源端点访问。
- 基于 MCP 协议: 遵循 MCP 协议标准,易于与兼容 MCP 协议的 LLM 客户端集成。
- 本地运行: 支持本地部署和运行,方便开发和测试。
安装步骤
-
克隆仓库: 将 GitHub 仓库 'https://github.com/mashriram/azure_mcp_server' 克隆到本地计算机。
git clone https://github.com/mashriram/azure_mcp_server cd azure_mcp_server -
配置 Azure 凭据: 配置访问 Azure Blob Storage 和 Cosmos DB 所需的凭据。推荐使用 'DefaultAzureCredential',它会自动尝试多种身份验证方法。您可以通过以下方式配置凭据:
- 环境变量: 设置以下环境变量:
- 'AZURE_STORAGE_ACCOUNT_URL': Azure Storage 账户的 URL (例如: 'https://<your_account_name>.blob.core.windows.net').
- 'AZURE_COSMOSDB_ENDPOINT': Azure Cosmos DB 账户的终端节点 URL。
- 'AZURE_COSMOSDB_KEY': Azure Cosmos DB 账户的主键或二级密钥。 请务必妥善保管此密钥!
- Azure CLI: 或者,您可以使用 Azure CLI 进行身份验证。确保已使用具有必要权限的账户登录 Azure CLI ('az login')。
- 环境变量: 设置以下环境变量:
-
配置 Claude Desktop (或其他 MCP 客户端): 将以下配置添加到您的 MCP 客户端配置文件中,例如 Claude Desktop 的 'claude_desktop_config.json' 文件。
- Claude Desktop 配置示例 ('claude_desktop_config.json'):
请注意:"mcpServers": { "azure-mcp-server": { // MCP 服务器名称,可自定义 "command": "uv", // 启动命令,这里使用 uv (或 python -m venv .venv && .venv/bin/python) "args": [ // 启动参数 "--directory", // 指定工作目录 "/path/to/azure-mcp-server", // 替换为克隆仓库的本地路径 "run", // uv 的 run 命令 (或 -m) "mcp_server_azure" // 运行 mcp_server_azure 包 (或 azure_server.py) ] } }- 将 '/path/to/azure-mcp-server' 替换为您克隆 'azure_mcp_server' 仓库的实际本地路径。
- 如果您的环境中没有 'uv',可以将 'command' 更改为 'python3' 或 'python',并修改 'args' 为 '["-m", "mcp_server_azure"]',确保您的 Python 环境已安装必要的依赖包(可以使用 'pip install -r requirements.txt' 安装)。
- Claude Desktop 配置示例 ('claude_desktop_config.json'):
-
启动 MCP 客户端 (如 Claude Desktop): 启动您的 MCP 客户端应用程序。客户端将根据配置文件连接到 Azure MCP Server。
基本使用方法
配置完成后,在您的 MCP 客户端 (如 Claude Desktop) 中,您可以指示 LLM 使用 Azure 工具来执行操作。例如,您可以向 Claude 提出类似以下指令:
- "创建一个名为 'my-container' 的 Blob Storage 容器。"
- "列出 Cosmos DB 数据库 'mydatabase' 中的所有容器。"
- "读取 Blob 容器 'my-container' 中名为 'my-file.txt' 的文件内容。"
LLM 客户端会解析您的指令,并调用 Azure MCP Server 提供的相应工具来执行 Azure 云服务操作。操作结果将返回给 LLM 客户端。
您可以通过访问 'audit://azure-operations' 资源来查看所有操作的审计日志。
信息
分类
数据库与文件