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
手动安装
- **克隆存储库:**将此存储库克隆到本地计算机。
- **配置 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
"mcpServers": {
"mcp-server-azure": {
"command": "uv",
"args": [
"--directory",
"/path/to/repo/azure-mcp-server",
"run",
"azure-mcp-server"
]
}
}
将/path/to/repo/azure-mcp-server
替换为克隆存储库的实际路径。
- **安装并启动 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
参数。label label
是可选的,用于指定要删除的键的哪个标签版本。
Cosmos DB 重要说明:
- 分区键: Cosmos DB 需要分区键来实现高效的数据存储和检索。创建容器时,必须定义分区键。读取、替换或删除项目时,必须为要访问的项目提供正确的分区键值。分区键是数据中的一个属性。
- 区分大小写: Cosmos DB 资源名称(数据库、容器、项 ID)和分区键值区分大小写。请确保在工具调用中使用正确的大小写。
- **默认数据库:**如果未提供
database_name
,则服务器默认使用名为SampleDB
的数据库。请确保此数据库存在,或在工具调用参数中明确提供所需数据库的名称。
本自述文件提供了设置和使用 Azure MCP 服务器以及 Claude 桌面应用程序所需的信息。请务必妥善保管您的 Azure 凭据,并参阅 MCP 文档以获取有关该协议的更多信息。