返回市场
Azure_MCP_服务器

Azure_MCP_服务器

作者:mashriram5 星标更新:2025-03-13

项目介绍

Azure MCP Server

smithery 徽章

这是一个用于与Azure服务交互的模型上下文协议服务器实现。目前支持Azure Blob存储和Azure Cosmos DB(NoSQL API)。通过此服务器执行的所有操作都会自动记录,并可通过audit://azure-operations资源端点访问。

<a href="https://glama.ai/mcp/servers/cczdogb799"><img width="380" height="200" src="https://gips1.baidu.com/it/u=2505221210,3610515115&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Azure Server MCP服务器" /></a>

在本地使用Claude桌面应用运行

通过Smithery安装

要通过Smithery自动安装Azure MCP服务器到Claude桌面应用:

npx -y @smithery/cli install @mashriram/azure_mcp_server --client claude

手动安装

  1. 克隆仓库: 将此仓库克隆到您的本地机器。

  2. 配置Azure凭证: 配置您的Azure凭证。此服务器需要一个具有适当权限的Azure账户,包括Blob存储、Cosmos DB和App配置。我们建议使用DefaultAzureCredential,它会尝试通过多种方法进行身份验证。

    • 环境变量: 设置以下环境变量:
      • AZURE_STORAGE_ACCOUNT_URL:您的Azure存储账户的URL(例如,https://<your_account_name>.blob.core.windows.net)。
      • AZURE_COSMOSDB_ENDPOINT:您的Azure Cosmos DB账户的端点URL。
      • AZURE_COSMOSDB_KEY:您的Azure Cosmos DB账户的主要或次要密钥。重要:请像对待密码一样处理此密钥并确保其安全。
      • AZURE_APP_CONFIGURATION_ENDPOINT:您的Azure App配置实例的URL。
    • Azure CLI: 或者,您可以使用Azure CLI进行身份验证。确保您已登录到具有必要权限的账户。此服务器使用DefaultAzureCredential,因此如果未指定环境变量,它将自动使用Azure CLI凭据进行身份验证。使用az login登录。
  3. 配置Claude桌面: 将以下配置添加到您的claude_desktop_config.json文件中:

    • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
    "mcpServers": {
      "mcp-server-azure": {
        "command": "uv",
        "args": [
          "--directory",
          "/path/to/repo/azure-mcp-server",
          "run",
          "azure-mcp-server"
        ]
      }
    }
    

    /path/to/repo/azure-mcp-server替换为您实际克隆的仓库路径。

  4. 安装并启动Claude桌面: 安装并打开Claude桌面应用

  5. 测试设置: 让Claude执行使用Azure工具的读取或写入操作(例如,创建Blob存储容器或将项目添加到Cosmos DB)。如果您遇到问题,请参阅MCP调试文档

可用工具

Azure Blob存储操作

  • blob_container_create: 创建一个新的Blob存储容器。需要container_name
  • blob_container_list: 列出配置账户中的所有Blob存储容器。
  • blob_container_delete: 删除一个Blob存储容器。需要container_name
  • blob_upload: 将一个Blob(文件)上传到Blob存储容器。需要container_nameblob_namefile_content(Base64编码)。
  • blob_delete: 从Blob存储容器中删除一个Blob。需要container_nameblob_name
  • blob_list: 列出Blob存储容器内的Blob。需要container_name
  • blob_read: 从Blob存储中读取Blob的内容。需要container_nameblob_name。返回内容作为文本。

Azure Cosmos DB(NoSQL API)操作

容器操作

  • cosmosdb_container_create: 在数据库内创建一个新的Cosmos DB容器。需要container_namepartition_keydatabase_name是可选的,默认为defaultdbpartition_key应是一个定义分区键的JSON对象(例如,{"paths": ["/myPartitionKey"], "kind": "Hash"})。
  • cosmosdb_container_describe: 获取关于Cosmos DB容器的详细信息。需要container_namedatabase_name是可选的,默认为defaultdb
  • cosmosdb_container_list: 列出数据库内的所有Cosmos DB容器。database_name是可选的,默认为defaultdb
  • cosmosdb_container_delete: 删除一个Cosmos DB容器。需要container_namedatabase_name是可选的,默认为defaultdb

项目操作

  • cosmosdb_item_create: 在Cosmos DB容器内创建一个新的项目。需要container_nameitem(表示项目的JSON对象)。database_name是可选的,默认为defaultdb。确保您的item包含分区键字段和值。
  • cosmosdb_item_read: 从Cosmos DB容器中读取一个项目。需要container_nameitem_idpartition_keydatabase_name是可选的,默认为defaultdbpartition_key必须与正在读取的项目的分区键值匹配。
  • cosmosdb_item_replace: 替换Cosmos DB容器内的现有项目。需要container_nameitem_idpartition_keyitem(表示完全更新项目的JSON对象)。database_name是可选的,默认为defaultdbpartition_key必须与正在替换的项目的分区键值匹配。
  • cosmosdb_item_delete: 从Cosmos DB容器中删除一个项目。需要container_nameitem_idpartition_keydatabase_name是可选的,默认为defaultdbpartition_key必须与正在删除的项目的分区键值匹配。
  • cosmosdb_item_query: 使用SQL查询在Cosmos DB容器中查询项目。需要container_namequerydatabase_name是可选的,默认为defaultdb。可选接受一个parameters数组以供参数化查询。

Azure App配置操作

  • app_configuration_kv_read: 从Azure App配置中读取键值。key参数是可选的,允许按键模式过滤(支持通配符,如'app1/')。label参数是可选的,用于按标签值过滤('\0'表示无标签,''表示任意标签)。
  • app_configuration_kv_write: 写入或更新Azure App配置中的键值。需要keyvalue参数。可选参数包括label以应用于键值的标签和content_type以指定内容类型(例如,'application/json')。
  • app_configuration_kv_delete: 从Azure App配置中删除键值。需要key参数。label参数是可选的,指定要删除的键的标签版本。

重要Cosmos DB注意事项:

  • 分区键: Cosmos DB需要一个分区键以实现高效的数据存储和检索。当创建容器时,您必须定义一个分区键。当读取、替换或删除项目时,您必须提供所访问项目的正确分区键值。分区键是在您的数据内部的一个属性。
  • 大小写敏感性: Cosmos DB资源名称(数据库、容器、项目ID)和分区键值是大小写敏感的。确保在工具调用中使用正确的大小写。
  • 默认数据库: 如果未提供database_name,服务器将默认使用名为SampleDB的数据库。确保该数据库存在,或者在工具调用参数中明确提供您所需的数据库名称。

本README提供了设置和使用Azure MCP服务器与Claude桌面应用所需的信息。请妥善保管您的Azure凭证,并参考MCP文档获取有关协议的更多信息。