关于 azure-mcp-server
azure-mcp-server 是基于 mcp-framework 构建的 Azure 服务 MCP 服务,面向需要通过工具管理云资源的用户。它覆盖 Storage、Virtual Machines 和 App Service,并使用 DefaultAzureCredential 进行身份验证。
主要功能
- 01Blob 和容器的增删查改
- 02虚拟机的列表与生命周期管理
- 03App Service 信息与配置查询
- 04App Service 启停与重启
- 05DefaultAzureCredential 身份验证
适用场景
- 01列出或维护 Azure Blob 容器和文件
- 02启动、停止、重启或删除虚拟机
- 03查看 App Service 配置并控制其状态
MCP 相关
它向 MCP 客户端提供用于操作 Azure Storage、Virtual Machines 和 App Service 的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Azure MCP 服务
一个使用 mcp-framework 构建的模型上下文协议(MCP)服务,提供用于与 Azure 服务交互的工具。
快速开始
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
项目结构
azure-mcp-server/
├── src/
│ ├── tools/ # MCP Tools
│ │ ├── Storage/ # Azure Storage tools
│ │ ├── VirtualMachine/ # Azure VM tools
│ │ └── AppService/ # Azure App Service tools
│ └── index.ts # Server entry point
├── package.json
└── tsconfig.json
Azure 工具概览
此服务提供用于与多个 Azure 服务交互的工具:
| 服务 | 工具前缀 | 描述 |
|---|---|---|
| 存储 | azure_* | Blob 存储操作 |
| 虚拟机 | azure_vms_* | VM 管理操作 |
| App Service | azure_apps_* | App Service 操作 |
身份验证
所有工具都使用 @azure/identity 中的 DefaultAzureCredential,它会按以下顺序尝试多种身份验证方法:
- 环境变量(AZURE_TENANT_ID、AZURE_CLIENT_ID、AZURE_CLIENT_SECRET)
- 托管标识
- Azure CLI 凭据
- Visual Studio Code 凭据
- 交互式浏览器登录(作为后备方式)
可用工具
Azure 存储工具
所需权限
- Storage Account Contributor:用于管理存储帐户设置
- Storage Blob Data Contributor:用于对 Blob 和容器执行 CRUD 操作
容器操作
| 工具 | 描述 | 示例输入 |
|---|---|---|
| azure_list_containers | 列出容器 | { "accountName": "yourstorageaccount" } |
| azure_create_container | 创建容器 | { "accountName": "yourstorageaccount", "containerName": "mycontainer" } |
| azure_delete_container | 删除容器 | { "accountName": "yourstorageaccount", "containerName": "mycontainer" } |
Blob 操作
| 工具 | 描述 | 示例输入 |
|---|---|---|
| azure_list_blobs | 列出 Blob | { "accountName": "yourstorageaccount", "containerName": "mycontainer" } |
| azure_upload_blob | 上传 Blob | { "accountName": "yourstorageaccount", "containerName": "mycontainer", "blobName": "example.txt", "content": "This is the content" } |
| azure_download_blob | 下载 Blob | { "accountName": "yourstorageaccount", "containerName": "mycontainer", "blobName": "example.txt" } |
| azure_delete_blob | 删除 Blob | { "accountName": "yourstorageaccount", "containerName": "mycontainer", "blobName": "example.txt" } |
Azure 虚拟机工具
所需权限
- Virtual Machine Contributor:用于管理 VM
- Reader:用于列出和查看 VM 详细信息
VM 操作
| 工具 | 描述 | 示例输入 |
|---|---|---|
| azure_vms_list | 列出 VM | { "subscriptionId": "your-subscription-id" } |
| azure_vms_start | 启动 VM | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "vmName": "your-vm-name" } |
| azure_vms_stop | 停止 VM | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "vmName": "your-vm-name" } |
| azure_vms_restart | 重启 VM | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "vmName": "your-vm-name" } |
| azure_vms_delete | 删除 VM | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "vmName": "your-vm-name" } |
Azure App Service 工具
所需权限
- Website Contributor:用于管理 App Service
- Reader:用于列出和查看 App Service 详情
App Service 操作
| 工具 | 描述 | 示例输入 |
|---|---|---|
| azure_apps_list | 列出 App Service | { "subscriptionId": "your-subscription-id" } |
| azure_apps_get | 获取 App Service 详情 | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" } |
| azure_apps_get_config | 获取 App Service 配置 | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" } |
| azure_apps_start | 启动 App Service | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" } |
| azure_apps_stop | 停止 App Service | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" } |
| azure_apps_restart | 重启 App Service | { "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" } |
工具开发
创建新工具
import { MCPTool } from 'mcp-framework';
import { z } from 'zod';
interface MyToolInput {
message: string;
}
class MyTool extends MCPTool<MyToolInput> {
name = 'my_tool';
description = 'Describes what your tool does';
schema = {
message: {
type: z.string(),
description: 'Description of this input parameter'
}
};
async execute(input: MyToolInput) {
// Your tool logic here
return `Processed: ${input.message}`;
}
}
export default MyTool;
调试
如果 Azure 工具遇到问题,请查看控制台日志以获取详细的调试信息。常见问题包括:
- 身份验证失败
- 缺少权限
- 资源不存在
- 网络连接问题
构建和测试
- 修改工具
- 运行
npm run build进行编译 - 服务启动时会自动加载工具
了解更多
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。