通过


ICM MCP

ICM MCP 允许Microsoft内部 MCS 代理与 ICM 票证进行交互。 它支持标准 MCP 工具/列表和工具/呼叫和工具,范围从事件详细信息到编辑和传输

此连接器在以下产品和区域中可用:

Service Class 区域
Copilot Studio 标准 除以下各项外的所有 Power Automate 区域
     - 美国政府 (GCC)
     - 美国政府 (GCC High)
     - 由世纪互联运营的中国云
     - 美国国防部(DoD)
Power Apps 标准 除以下各项外的所有 Power Apps 区域
     - 美国政府 (GCC)
     - 美国政府 (GCC High)
     - 由世纪互联运营的中国云
     - 美国国防部(DoD)
Power Automate 标准 除以下各项外的所有 Power Automate 区域
     - 美国政府 (GCC)
     - 美国政府 (GCC High)
     - 由世纪互联运营的中国云
     - 美国国防部(DoD)
联系人
名称 Agent365 Microsoft.com
URL Microsoft Power Automate 支持
Microsoft Power Apps 支持
Email robsanto@microsoft.com
连接器元数据
发布者 Microsoft
网站 https://eng.ms/docs/products/icm/onboarding/introduction
隐私策略 https://privacy.microsoft.com/en-US/privacystatement
类别 人工智能;生产力

ICM MCP 工具连接器

概述

ICM MCP 工具连接器通过模型上下文协议(MCP)接口提供对Microsoft事件管理(ICM)系统的访问权限。 此连接器使 Power Automate 和 Power Apps 能够与 ICM 交互,以便使用 AI 提供支持的工具和全面的事件分析功能与 ICM 进行交互。

此连接器提供对 MCP 服务器的直接访问,使你能够利用一组不断增长的功能强大的事件管理工具。

先决条件

  • 有效的Microsoft公司凭据
  • 访问 ICM 系统
  • 要执行的操作的相应权限

身份验证

连接器将 OAuth 2.0 身份验证与 Azure Active Directory 配合使用。 创建连接时,系统会提示你使用Microsoft公司凭据登录。

可用操作

调用 MCP 服务器

连接器提供一项功能强大的操作,可让你访问所有 MCP 工具:

  • 调用 MCP 服务器:通过支持 tools/listtools/call 方法直接访问 MCP 服务器

可用的 MCP 工具

连接器当前支持以下工具(此列表将继续增长):

事件分析

  • get_incident_details_by_id - 检索有关特定事件的详细信息
  • get_incident_context - 获取事件的上下文信息和相关数据
  • get_incident_location - 获取事件的位置信息
  • get_incident_customer_impact - 分析事件的客户影响
  • get_similar_incidents - 查找用于模式分析的类似事件
  • get_ai_summary - 获取事件信息的 AI 生成的摘要
  • get_mitigation_hints - 获取建议的缓解策略

客户影响分析

  • get_impacted_s500_customers - 获取受影响的 S500 客户列表
  • get_impacted_ace_customers - 获取受影响的 ACE 客户列表
  • get_impacted_azure_priority0_customers - 获取受影响的 Azure 优先级 0 客户列表
  • get_impacted_subscription_count - 获取受影响的订阅计数
  • is_specific_customer_impacted - 检查特定客户是否受到影响

服务和基础结构

  • get_impacted_services_regions_clouds - 获取有关受影响的服务、区域和云的信息
  • get_services_by_names - 按名称检索服务信息
  • get_outage_high_priority_events - 获取高优先级中断事件

团队和联系人管理

  • get_teams_by_public_id - 按其公共 ID 查找团队
  • get_teams_by_name - 按名称查找团队
  • get_team_by_id - 按 ID 获取团队信息
  • get_contact_by_alias - 按别名获取联系信息
  • get_contact_by_id - 按 ID 获取联系信息
  • get_on_call_schedule_by_team_id - 获取团队的待命计划

搜索和查询

  • search_incidents_by_owning_team_id - 通过拥有团队搜索事件
  • get_support_requests_crisit - 获取关键支持请求

如何使用连接器

1. 列出可用工具

若要查看所有可用的工具,请使用 tools/list 以下方法:

请求

{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "params": {},
  "id": 1
}

响应:

{
  "jsonrpc": "2.0",
  "result": {
    "tools": [
      {
        "name": "get_incident_details_by_id",
        "description": "Get detailed information about an incident by its ID",
        "inputSchema": {
          "type": "object",
          "properties": {
            "incident_id": {
              "type": "string",
              "description": "The unique identifier of the incident"
            }
          },
          "required": ["incident_id"]
        }
      },
      {
        "name": "get_incident_context",
        "description": "Get contextual information for an incident",
        "inputSchema": {
          "type": "object",
          "properties": {
            "incident_id": {
              "type": "string",
              "description": "The unique identifier of the incident"
            }
          },
          "required": ["incident_id"]
        }
      }
    ]
  },
  "id": 1
}

2. 调用特定工具

若要调用特定工具,请使用 tools/call 以下方法:

示例:获取事件详细信息

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_incident_details_by_id",
    "arguments": {
      "incident_id": "12345678"
    }
  },
  "id": 1
}

响应:

{
  "jsonrpc": "2.0",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"id\": \"12345678\", \"title\": \"Service degradation in West US\", \"severity\": \"Sev2\", \"status\": \"Active\", \"createDate\": \"2024-01-15T10:30:00Z\", \"description\": \"Users experiencing slow response times\", \"owningTeam\": \"ServiceTeam\", \"impactedServices\": [\"WebApp\", \"API\"]}"
      }
    ]
  },
  "id": 1
}

示例:获取客户影响分析

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_impacted_s500_customers",
    "arguments": {
      "incident_id": "12345678"
    }
  },
  "id": 1
}

示例:按团队搜索事件

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "search_incidents_by_owning_team_id",
    "arguments": {
      "team_id": "team-123",
      "status": "Active",
      "max_results": 50
    }
  },
  "id": 1
}

示例:获取 AI 摘要

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_ai_summary",
    "arguments": {
      "incident_id": "12345678",
      "include_mitigation": true
    }
  },
  "id": 1
}

Power Automate 使用情况

设置操作

  1. 将“调用 MCP 服务器”操作添加到流
  2. 方法 字段设置为以下任一项:
    • tools/list - 发现可用工具
    • tools/call - 执行特定工具
  3. 基于所选方法配置 params 对象

示例流:自动事件分析

1. Trigger: When an incident is created
2. Action: Invoke MCP Server
   - method: "tools/call"
   - params: {
       "name": "get_incident_details_by_id",
       "arguments": {"incident_id": "@{triggerBody()['incident_id']}"}
     }
3. Action: Invoke MCP Server  
   - method: "tools/call"
   - params: {
       "name": "get_ai_summary", 
       "arguments": {"incident_id": "@{triggerBody()['incident_id']}"}
     }
4. Action: Send notification with incident details and AI summary

示例流:客户影响评估

1. Trigger: Manual trigger with incident ID
2. Action: Invoke MCP Server (Get S500 Customers)
   - method: "tools/call"
   - params: {
       "name": "get_impacted_s500_customers",
       "arguments": {"incident_id": "@{triggerBody()['incident_id']}"}
     }
3. Action: Invoke MCP Server (Get ACE Customers)
   - method: "tools/call" 
   - params: {
       "name": "get_impacted_ace_customers",
       "arguments": {"incident_id": "@{triggerBody()['incident_id']}"}
     }
4. Action: Create comprehensive impact report

常见用例

1. 综合事件分析

合并多个工具以获取完整图片:

  • get_incident_details_by_id - 基本事件信息
  • get_incident_context - 相关上下文和数据
  • get_ai_summary - AI 支持的分析
  • get_similar_incidents - 历史模式
  • get_mitigation_hints - 建议的操作

2. 客户影响评估

评估客户影响的完整范围:

  • get_impacted_s500_customers - 企业客户
  • get_impacted_ace_customers - ACE 客户
  • get_impacted_azure_priority0_customers - 优先级 0 客户
  • get_impacted_subscription_count - 订阅影响总数

3. 团队协调

跨团队协调响应工作:

  • get_teams_by_name - 查找相关团队
  • get_on_call_schedule_by_team_id - 检查呼叫者
  • get_contact_by_alias - 获取联系信息
  • search_incidents_by_owning_team_id - 检查团队工作负荷

4. 服务运行状况监视

监视和分析服务运行状况:

  • get_impacted_services_regions_clouds - 受影响的基础结构
  • get_outage_high_priority_events - 关键事件
  • get_services_by_names - 服务详细信息

技术详细信息

请求/响应流

  1. Power Automate 向连接器发送 JSON-RPC 格式化请求
  2. 连接器使用适当的身份验证将请求转发到 MCP 服务器
  3. MCP 服务器处理请求并返回 JSON-RPC 响应
  4. 连接器处理 Server-Sent 事件(SSE)(如果存在并转换为 JSON)
  5. 响应以标准 JSON 格式返回到 Power Automate

错误处理

连接器处理各种错误方案:

  • 工具名称无效
  • 缺少必需的参数
  • 身份验证失败
  • 服务器不可用

速率限制

连接器实现每 60 秒连接 100 次调用速率限制,以确保 ICM 系统的公平使用。

高级用法

动态工具发现

在流开始时使用 tools/list ,动态发现可用的工具及其架构。 这可确保即使添加新工具,流也能正常工作。

复杂工作流

将多个工具调用链接在一起,以创建利用 MCP 生态系统的全部功能的复杂事件管理工作流。

Testing

快速测试:列出工具

  1. 使用“调用 MCP 服务器”操作创建新流
  2. 将方法设置为 tools/list
  3. 将参数留空: {}
  4. 运行流以查看所有可用的工具

测试:获取事件详细信息

  1. Use 方法 tools/call
  2. 将参数设置为:
    {
      "name": "get_incident_details_by_id",
      "arguments": {
        "incident_id": "your-test-incident-id"
      }
    }
    
  3. 验证响应是否包含事件信息

不断增长的工具集

MCP 工具生态系统不断扩大。 定期添加新工具以增强事件管理功能。 使用此方法 tools/list 随时更新新可用的工具及其功能。

支持

  • 有关连接器问题:请联系 Power Platform 团队
  • 有关特定于 ICM 的问题:联系 icmsupport@microsoft.com
  • 有关常规 Power Platform 支持:请访问 Microsoft Power Platform 社区

限制

名称 调用 续订期
每个连接的 API 调用数 100 60 秒

操作

ICM MCP

直接调用 ICM MCP 服务器操作

为指定事件提供整体影响

为指定的事件或中断提供整体影响。

按 ID 获取事件详细信息

按 ID 获取事件详细信息。

按名称列表获取服务详细信息

按名称列表获取服务详细信息。

按团队 ID 获取团队详细信息

按团队 ID 获取团队详细信息。

按团队公共 ID 获取团队详细信息

按团队公共 ID 获取团队详细信息。公共 ID 看起来像 TenantName\TeamName

按团队名称获取团队详细信息

按团队名称获取团队详细信息。

按联系人 ID 获取联系人详细信息

按联系人 ID 获取联系人详细信息。

按联系人别名获取联系人详细信息

按联系人别名获取联系人详细信息。

提供所有详细的上下文信息

提供所有详细的上下文信息、事件和中断的所有原始元数据

检查特定客户是否受到影响

检查特定客户是否在事件/服务中断 ID 受影响的客户列表中。注意:即使结果为 false,也并不意味着客户不会受到影响。 要求用户检查其他影响指标,例如支持请求、Sev A (CritSit) 等。

获取事件和中断摘要

获取事件和/或中断摘要,仅获取摘要。

获取事件的位置信息

获取事件和/或中断的位置信息,包括区域、可用性区域、数据中心、群集、节点和区域 arm 别名。

获取受影响的 ACE 客户

针对给定的事件或中断,获取受影响的 ACE 客户。

获取受影响的 S500 客户

针对给定的事件或中断,获取受影响的 S500 客户。

获取受影响的“Azure 优先级 0”或“生命和安全”客户

对于给定的事件或服务中断,受影响的“Azure 优先级 0”或“生命和安全”客户。

获取受影响的服务、区域和云

获取受影响的服务、区域和云,以获得给定的事件或服务中断。

获取受影响的订阅计数

获取给定事件或中断的受影响订阅计数。

获取受影响的高优先级事件

获取给定事件或中断的受影响高优先级事件。

获取团队的待命计划

按团队 ID 获取团队的待命计划。

获取支持请求和支持票证 (SR) 和 SevA (CritSit)

获取与给定事件/中断相关的支持请求/支持票证(SR)和 SevA (CritSit)。

获取类似事件的列表

获取给定事件 ID 的类似事件列表。

获取给定事件 ID 的缓解提示

获取给定事件 ID 的缓解提示。

通过拥有团队 ID 搜索事件

此工具通过拥有团队的 ID 搜索事件。

ICM MCP

直接调用 ICM MCP 服务器操作

为指定事件提供整体影响

为指定的事件或中断提供整体影响。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

按 ID 获取事件详细信息

按 ID 获取事件详细信息。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

按名称列表获取服务详细信息

按名称列表获取服务详细信息。

参数

名称 密钥 必需 类型 说明
names
names True string

服务名称

按团队 ID 获取团队详细信息

按团队 ID 获取团队详细信息。

参数

名称 密钥 必需 类型 说明
teamId
teamId True string

团队 ID

按团队公共 ID 获取团队详细信息

按团队公共 ID 获取团队详细信息。公共 ID 看起来像 TenantName\TeamName

参数

名称 密钥 必需 类型 说明
publicId
publicId True string

团队的公共 ID

按团队名称获取团队详细信息

按团队名称获取团队详细信息。

参数

名称 密钥 必需 类型 说明
teamName
teamName True string

团队名称

按联系人 ID 获取联系人详细信息

按联系人 ID 获取联系人详细信息。

参数

名称 密钥 必需 类型 说明
contactId
contactId True string

联系人 ID

按联系人别名获取联系人详细信息

按联系人别名获取联系人详细信息。

参数

名称 密钥 必需 类型 说明
别名
alias True string

联系人别名

提供所有详细的上下文信息

提供所有详细的上下文信息、事件和中断的所有原始元数据

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

检查特定客户是否受到影响

检查特定客户是否在事件/服务中断 ID 受影响的客户列表中。注意:即使结果为 false,也并不意味着客户不会受到影响。 要求用户检查其他影响指标,例如支持请求、Sev A (CritSit) 等。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

客户姓名
customerName True string

客户名称

获取事件和中断摘要

获取事件和/或中断摘要,仅获取摘要。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取事件的位置信息

获取事件和/或中断的位置信息,包括区域、可用性区域、数据中心、群集、节点和区域 arm 别名。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取受影响的 ACE 客户

针对给定的事件或中断,获取受影响的 ACE 客户。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取受影响的 S500 客户

针对给定的事件或中断,获取受影响的 S500 客户。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取受影响的“Azure 优先级 0”或“生命和安全”客户

对于给定的事件或服务中断,受影响的“Azure 优先级 0”或“生命和安全”客户。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取受影响的服务、区域和云

获取受影响的服务、区域和云,以获得给定的事件或服务中断。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取受影响的订阅计数

获取给定事件或中断的受影响订阅计数。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取受影响的高优先级事件

获取给定事件或中断的受影响高优先级事件。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取团队的待命计划

按团队 ID 获取团队的待命计划。

参数

名称 密钥 必需 类型 说明
teamIds
teamIds True string

团队 ID

获取支持请求和支持票证 (SR) 和 SevA (CritSit)

获取与给定事件/中断相关的支持请求/支持票证(SR)和 SevA (CritSit)。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取类似事件的列表

获取给定事件 ID 的类似事件列表。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

获取给定事件 ID 的缓解提示

获取给定事件 ID 的缓解提示。

参数

名称 密钥 必需 类型 说明
incidentId
incidentId True string

事件 ID

通过拥有团队 ID 搜索事件

此工具通过拥有团队的 ID 搜索事件。

参数

名称 密钥 必需 类型 说明
teamId
teamId True string

团队 ID