使用说明

项目简介

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 客户端集成。
  • 本地运行: 支持本地部署和运行,方便开发和测试。

安装步骤

  1. 克隆仓库: 将 GitHub 仓库 'https://github.com/mashriram/azure_mcp_server' 克隆到本地计算机。

    git clone https://github.com/mashriram/azure_mcp_server
    cd azure_mcp_server
  2. 配置 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')。
  3. 配置 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' 安装)。
  4. 启动 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' 资源来查看所有操作的审计日志。

信息

分类

数据库与文件