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 支持 |
| 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/list和tools/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 使用情况
设置操作
- 将“调用 MCP 服务器”操作添加到流
- 将 方法 字段设置为以下任一项:
-
tools/list- 发现可用工具 -
tools/call- 执行特定工具
-
- 基于所选方法配置 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- 服务详细信息
技术详细信息
请求/响应流
- Power Automate 向连接器发送 JSON-RPC 格式化请求
- 连接器使用适当的身份验证将请求转发到 MCP 服务器
- MCP 服务器处理请求并返回 JSON-RPC 响应
- 连接器处理 Server-Sent 事件(SSE)(如果存在并转换为 JSON)
- 响应以标准 JSON 格式返回到 Power Automate
错误处理
连接器处理各种错误方案:
- 工具名称无效
- 缺少必需的参数
- 身份验证失败
- 服务器不可用
速率限制
连接器实现每 60 秒连接 100 次调用速率限制,以确保 ICM 系统的公平使用。
高级用法
动态工具发现
在流开始时使用 tools/list ,动态发现可用的工具及其架构。 这可确保即使添加新工具,流也能正常工作。
复杂工作流
将多个工具调用链接在一起,以创建利用 MCP 生态系统的全部功能的复杂事件管理工作流。
Testing
快速测试:列出工具
- 使用“调用 MCP 服务器”操作创建新流
- 将方法设置为
tools/list - 将参数留空:
{} - 运行流以查看所有可用的工具
测试:获取事件详细信息
- Use 方法
tools/call - 将参数设置为:
{ "name": "get_incident_details_by_id", "arguments": { "incident_id": "your-test-incident-id" } } - 验证响应是否包含事件信息
不断增长的工具集
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 (Crit |
获取与给定事件/中断相关的支持请求/支持票证(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 |