Azure服务交互工具

MCP服务器提供与Azure服务交互的工具,包括虚拟机、存储、密钥保管库、资源组、AKS和监控。

  • by kogunlowo123
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 kogunlowo123/mcp-server-azure

使用说明

mcp服务器azure

MCP(模型上下文协议)服务器,提供与Azure服务交互的工具,包括虚拟机、存储、密钥库、资源组、AKS和监视器。

建筑

graph TB
    subgraph Client
        style Client fill:#4A90D9,stroke:#2E6BA6,color:#FFFFFF
        MCP_Client["MCP Client"]
    end

    subgraph Server["mcp-server-azure"]
        style Server fill:#2ECC71,stroke:#1A9B52,color:#FFFFFF
        Index["index.ts<br/>MCP Server Entry"]
        subgraph Tools
            style Tools fill:#F39C12,stroke:#C67D0A,color:#FFFFFF
            T1["vm_list"]
            T2["storage_list_blobs"]
            T3["keyvault_get_secret"]
            T4["resource_group_list"]
            T5["aks_list_clusters"]
            T6["monitor_list_metrics"]
        end
    end

    subgraph Azure["Azure Services"]
        style Azure fill:#0078D4,stroke:#005A9E,color:#FFFFFF
        VM["Virtual Machines"]
        Storage["Blob Storage"]
        KV["Key Vault"]
        RG["Resource Groups"]
        AKS["AKS"]
        Monitor["Azure Monitor"]
    end

    MCP_Client -- "stdio transport" --> Index
    Index --> T1 & T2 & T3 & T4 & T5 & T6
    T1 --> VM
    T2 --> Storage
    T3 --> KV
    T4 --> RG
    T5 --> AKS
    T6 --> Monitor

安装

npm install
npm run build

配置

设置以下环境变量或使用Azure CLI身份验证:

变量 描述 必填
AZURE_TENANT_ID Azure AD租户ID 是(如果不使用CLI身份验证)
AZURE_CLIENT_ID Azure AD应用程序客户端ID 是(如果不使用CLI身份验证)
AZURE_CLIENT_SECRET Azure AD应用程序客户端机密 是(如果不使用CLI身份验证)
AZURE_SUBSCRIPTION_ID Azure订阅ID 是

用法

独立

npm start

发展

npm run dev

码头工人

docker build -t mcp-server-azure .
docker run -e AZURE_SUBSCRIPTION_ID=xxx -e AZURE_TENANT_ID=xxx mcp-server-azure

MCP客户端配置

{
  "mcpServers": {
    "azure": {
      "command": "node",
      "args": ["dist/index.js"],
      "env": {
        "AZURE_SUBSCRIPTION_ID": "your-subscription-id"
      }
    }
  }
}

工具参考

工具 说明 参数
vm_list 列出虚拟机 resource_group?
storage_list_blobs 列出容器中的blob account_name, container_name, prefix?
keyvault_get_secret 获取密钥库秘密 vault_name, secret_name
resource_group_list 列出资源组 无
aks_list_clusters 列出AKS集群 resource_group?
monitor_list_metrics 列出资源的指标 resource_uri, metric_names, timespan?, interval?

许可证

麻省理工学院