Skip to main content
Glama

Azure MCP 服务器

铁匠徽章

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

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

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Azure MCP 服务器:

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

手动安装

  1. **克隆存储库:**将此存储库克隆到本地计算机。

  2. **配置 Azure 凭据:**配置您的 Azure 凭据。此服务器需要一个具有 Blob 存储、Cosmos DB 和应用程序配置相应权限的 Azure 帐户。我们建议使用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 应用程序配置实例的 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 存储容器或向 Cosmos DB 添加项目)。如果遇到问题,请参阅此处的MCP 调试文档。

Related MCP server: MCP Server for Apache OpenDAL™

可用工具

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_key 。database_name 为可选database_name ,默认为defaultdb``partition_key应为定义分区键的 JSON 对象(例如, {"paths": ["/myPartitionKey"], "kind": "Hash"} )。

  • **cosmosdb_container_describe:**检索有关 Cosmos DB 容器的详细信息。需要container_namedatabase_name是可选的,默认为defaultdb

  • **cosmosdb_container_list:**列出数据库中的所有 Cosmos DB 容器。 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 为可选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是可选的,默认为defaultdb 。partition_key必须与要替换的项的partition_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_configuration_kv_read:**从 Azure 应用程序配置中读取key对。key 参数是可选的,允许按键模式过滤(支持通配符,例如“app1/ ”)。label 参数是可选的,用于按 ' 表示有标签)。

  • **app_configuration_kv_write:**在 Azure 应用程序配置中写入或更新键值对。需要keyvalue参数。可选参数包括label用于为键值对应用标签)和content_type (用于指定内容类型,例如“application/json”)。

  • **app_configuration_kv_delete:**从 Azure 应用程序配置中删除键值对。需要key参数。label label是可选的,用于指定要删除的键的哪个标签版本。

Cosmos DB 重要说明:

  • 分区键: Cosmos DB 需要分区键来实现高效的数据存储和检索。创建容器时,必须定义分区键。读取、替换或删除项目时,必须为要访问的项目提供正确的分区键值。分区键是数据中的一个属性。

  • 区分大小写: Cosmos DB 资源名称(数据库、容器、项 ID)和分区键值区分大小写。请确保在工具调用中使用正确的大小写。

  • **默认数据库:**如果未提供database_name ,则服务器默认使用名为SampleDB的数据库。请确保此数据库存在,或在工具调用参数中明确提供所需数据库的名称。

本自述文件提供了设置和使用 Azure MCP 服务器以及 Claude 桌面应用程序所需的信息。请务必妥善保管您的 Azure 凭据,并参阅 MCP 文档以获取有关该协议的更多信息。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mashriram/azure_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server