hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides tools for interacting with Azure services, specifically Azure Blob Storage and Azure Cosmos DB (NoSQL API). Enables operations like creating/listing/deleting containers, uploading/reading/deleting blobs, and creating/reading/querying/deleting items in Cosmos DB.
Azure MCP 服务器
用于与 Azure 服务交互的模型上下文协议服务器的实现。目前支持 Azure Blob 存储和 Azure Cosmos DB (NoSQL API)。通过此服务器执行的所有操作都会自动记录,并可通过audit://azure-operations
资源终结点访问。
使用 Claude 桌面应用程序在本地运行
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Azure MCP 服务器:
手动安装
- **克隆存储库:**将此存储库克隆到本地计算机。
- **配置 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
登录。
- **环境变量:**设置以下环境变量:
- **配置 Claude Desktop:**将以下配置添加到您的
claude_desktop_config.json
文件:- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
Copy将
/path/to/repo/azure-mcp-server
替换为克隆存储库的实际路径。 - macOS:
- **安装并启动 Claude Desktop:**安装并打开Claude 桌面应用程序。
- **测试设置:**请 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_name
、blob_name
和file_content
(Base64 编码)。 - **blob_delete:**从 Blob 存储容器中删除一个 Blob。需要提供
container_name
和blob_name
。 - **blob_list:**列出 Blob 存储容器内的 Blob。需要提供
container_name
。 - **blob_read:**从 Blob 存储中读取 Blob 的内容。需要提供
container_name
和blob_name
参数。返回文本形式的内容。
Azure Cosmos DB (NoSQL API) 操作
容器操作
- **cosmosdb_container_create:**在数据库中创建新的 Cosmos DB 容器。需要提供
container_name
和partition_key
。database_name 为可选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 容器。 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 为可选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必须与要替换的项的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 应用程序配置中读取
key
对。key 参数是可选的,允许按键模式过滤(支持通配符,例如“app1/ ”)。label 参数是可选的,用于按label
值过滤('\0' 表示无标签,' ' 表示有标签)。 - **app_configuration_kv_write:**在 Azure 应用程序配置中写入或更新键值对。需要
key
和value
参数。可选参数包括label
用于为键值对应用标签)和content_type
(用于指定内容类型,例如“application/json”)。 - **app_configuration_kv_delete:**从 Azure 应用程序配置中删除键值对。需要
key
参数。labellabel
是可选的,用于指定要删除的键的哪个标签版本。
Cosmos DB 重要说明:
- 分区键: Cosmos DB 需要分区键来实现高效的数据存储和检索。创建容器时,必须定义分区键。读取、替换或删除项目时,必须为要访问的项目提供正确的分区键值。分区键是数据中的一个属性。
- 区分大小写: Cosmos DB 资源名称(数据库、容器、项 ID)和分区键值区分大小写。请确保在工具调用中使用正确的大小写。
- **默认数据库:**如果未提供
database_name
,则服务器默认使用名为SampleDB
的数据库。请确保此数据库存在,或在工具调用参数中明确提供所需数据库的名称。
本自述文件提供了设置和使用 Azure MCP 服务器以及 Claude 桌面应用程序所需的信息。请务必妥善保管您的 Azure 凭据,并参阅 MCP 文档以获取有关该协议的更多信息。
You must be authenticated.
Tools
该服务器实现了模型上下文协议,可与 Azure Blob 存储和 Cosmos DB 无缝交互,从而实现操作的自动日志记录和审计跟踪。