mcpField
A
Azure MCP Server

Azure MCP Server

本地服务
github.com/mashriram云与基础设施585 周前更新

关于 Azure MCP Server

Azure MCP Server 为 Azure Blob Storage、Cosmos DB 和 App Configuration 提供操作接口,并记录操作供审计资源读取。它面向需要通过 MCP 客户端管理 Azure 数据与配置的用户。

主要功能

  1. 01管理 Blob Storage 容器与文件
  2. 02创建和查询 Cosmos DB 容器及条目
  3. 03读写及删除 App Configuration 键值
  4. 04通过审计资源查看操作记录

适用场景

  1. 01上传或读取 Blob Storage 文件
  2. 02查询或更新 Cosmos DB 条目
  3. 03读取和修改 App Configuration 键值
  4. 04检查 Azure 操作审计记录

MCP 相关

它向 MCP 客户端公开 Blob Storage、Cosmos DB 和 App Configuration 操作工具,并通过 `audit://azure-operations` 资源提供操作记录。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"azure_mcp_server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Azure MCP Server

smithery badge

一个用于与 Azure 服务交互的 Model Context Protocol 服务实现。目前支持 Azure Blob Storage 和 Azure Cosmos DB(NoSQL API)。通过此服务执行的所有操作都会自动记录,并可通过 audit://azure-operations 资源端点访问。

Azure Server MCP server

在 Claude 桌面应用中本地运行

通过 Smithery 安装

要通过 Smithery 自动为 Claude 桌面应用安装 Azure MCP Server:

npx -y @smithery/cli install @mashriram/azure_mcp_server --client claude
手动安装
  1. 克隆仓库: 将此仓库克隆到本地计算机。

  2. 配置 Azure 凭据: 配置 Azure 凭据。此服务需要拥有 Blob Storage、Cosmos DB 和 App Configuration 相应权限的 Azure 帐户。我们建议使用 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_APP_CONFIGURATION_ENDPOINT:Azure App Configuration 实例的 URL。
    • Azure CLI: 也可以使用 Azure CLI 进行身份验证。请确保已使用拥有所需权限的帐户登录。此服务使用 DefaultAzureCredential,因此如果未指定环境变量,它会自动使用 Azure CLI 凭据进行身份验证。使用 az login 登录。
  3. 配置 Claude Desktop: 将以下配置添加到 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 Desktop: 安装并打开 Claude 桌面应用。

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

可用工具

Azure Blob Storage 操作
  • blob_container_create: 创建新的 Blob Storage 容器。需要提供 container_name。
  • blob_container_list: 列出已配置账户中的所有 Blob Storage 容器。
  • blob_container_delete: 删除 Blob Storage 容器。需要提供 container_name。
  • blob_upload: 将 Blob(文件)上传到 Blob Storage 容器。需要提供 container_name、blob_name 和 file_content(经过 Base64 编码)。
  • blob_delete: 从 Blob Storage 容器中删除 Blob。需要提供 container_name 和 blob_name。
  • blob_list: 列出 Blob Storage 容器中的 Blob。需要提供 container_name。
  • blob_read: 读取 Blob Storage 中 Blob 的内容。需要提供 container_name 和 blob_name。内容以文本形式返回。
Azure Cosmos DB(NoSQL API)操作
容器操作
  • cosmosdb_container_create: 在数据库中创建新的 Cosmos DB 容器。需要提供 container_name 和 partition_key。database_name 为可选参数,默认值为 defaultdb。partition_key 应为定义分区键的 JSON 对象(例如,{"paths": ["/myPartitionKey"], "kind": "Hash"})。
  • cosmosdb_container_describe: 获取有关 Cosmos DB 容器的详细信息。需要提供 container_name。database_name 为可选参数,默认值为 defaultdb。
  • cosmosdb_container_list: 列出数据库中的所有 Cosmos DB 容器。database_name 为可选参数,默认值为 defaultdb。
  • cosmosdb_container_delete: 删除 Cosmos DB 容器。需要提供 container_name。database_name 为可选参数,默认值为 defaultdb。
项目操作
  • cosmosdb_item_create: 在 Cosmos DB 容器中创建新项目。需要提供 container_name 和 item(表示该项目的 JSON 对象)。database_name 为可选参数,默认值为 defaultdb。请确保 item 包含分区键字段和值。
  • cosmosdb_item_read: 从 Cosmos DB 容器中读取项目。需要提供 container_name、item_id 和 partition_key。database_name 为可选参数,默认值为 defaultdb。partition_key 必须 与要读取项目的分区键值匹配。
  • cosmosdb_item_replace: 替换 Cosmos DB 容器中的现有项目。需要提供 container_name、item_id、partition_key 和 item(表示完整更新后项目的 JSON 对象)。database_name 为可选参数,默认值为 defaultdb。partition_key 必须 与要替换项目的分区键值匹配。
  • cosmosdb_item_delete: 从 Cosmos DB 容器中删除项目。需要提供 container_name、item_id 和 partition_key。database_name 为可选参数,默认值为 defaultdb。partition_key 必须 与要删除项目的分区键值匹配。
  • cosmosdb_item_query: 使用 SQL 查询 Cosmos DB 容器中的项目。需要提供 container_name 和 query。database_name 为可选参数,默认值为 defaultdb。还可以选择提供用于参数化查询的 parameters 数组。
Azure 应用配置操作
  • app_configuration_kv_read: 从 Azure App Configuration 读取键值。key 参数为可选参数,可用于按键模式筛选(支持通配符,例如 'app1/*')。label 参数为可选参数,可用于按标签值筛选(无标签时使用 '\\0',任意标签时使用 '*')。
  • app_configuration_kv_write: 在 Azure App Configuration 中写入或更新键值。需要提供 key 和 value 参数。可选参数包括用于为键值应用标签的 label,以及用于指定内容类型(例如 'application/json')的 content_type。
  • app_configuration_kv_delete: 从 Azure App Configuration 删除键值。需要提供 key 参数。label 参数为可选参数,用于指定要删除该键的哪个带标签版本。

Cosmos DB 重要说明:

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

本 README 提供了使用 Claude 桌面应用设置和使用 Azure MCP Server 所需的信息。请务必安全地处理 Azure 凭据,并查阅 MCP 文档以了解有关该协议的更多信息。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。