Token导航 LogoToken导航TokenDH.com
Incidence MCP Server Azure Function Node logo
运维云端stdio官方级别未说明来源级核验

Incidence MCP Server Azure Function Node

MCP Server

一个基于Azure Functions的MCP扩展服务器,用于事件分诊,提供交互式小部件UI,支持列出、检查和分配事件。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
事件管理TypeScriptVS CodeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lilyjma

提供方

lilyjma

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 \

详细介绍

事件分类MCP服务器

Azure Functions MCP(模型上下文协议)扩展服务器,用于使用交互式小部件UI进行事件分类。提供用于列出、检查和分配事件的工具,以及直接在Copilot Chat中呈现的事件分类小部件。

_list_invention工具在交互式UI中返回结果:_ Example question about critical unassigned incidents.

_深入事件:_ Drill into a specific incident

工具

工具说明
list_incidents使用严重性、状态、类别、分配和日期范围的可选过滤器获取事件。结果显示在“事件分类”小部件中。
get_incident_details返回完整的事件详细信息(描述、元数据)和事件时间线。结果显示在“事件分类”小部件中。
assign_incident分配或取消分配事件。更新所有者,将状态设置为“活动”(如果是“新建”),并记录时间线事件。

MCP资源

资源描述
事件分类小部件交互式事件分类仪表板(HTML/TypeScript应用程序),通过MCP应用程序在副驾驶聊天中内联呈现。支持过滤、分页和深入查看详细信息/时间线视图。

先决条件

数据库设置

在实际场景中,事件数据通常来自ITSM平台(如ServiceNow、Jira服务管理)、监控和可观察性工具(如Datadog、PagerDuty)或云原生服务(如Azure Monitor)。为了简单起见,此示例使用种子SQL数据库,但在生产环境中,MCP服务器将通过其API或事件流与这些源集成。

运行附带的安装脚本,一步创建表和种子测试数据:

sqlcmd -S .database.windows.net -d  -U  -P 
 -i setup.sql

或粘贴以下内容 setup.sql 进入Azure门户 查询编辑器 对于您的SQL数据库。

What the script creates

事件 --存储事件记录,包括严重性、状态、所有者、类别、来源和时间戳。

事件时间线 --存储与每个事件链接的时间线事件。

该脚本为11个类别(身份、电子邮件、端点、硬件、网络、云基础设施、应用程序、数据丢失、合规性、运营、许可)的20个样本事件以及相应的测试时间线事件提供种子。

本地开发

1.安装依赖项

npm install

2.构建小部件

Incident Triage小部件是一个Vite+TypeScript应用程序 src/app/。必须在启动服务器之前构建:

cd src/app
npm install
npm run build
cd ../..

这将生成一个文件 src/app/dist/index.html 该资源被用作MCP资源。

3.配置本地设置

编辑 local.settings.json 使用您的Azure SQL服务器和数据库。该项目使用Azure AD(Entra ID)默认凭据进行身份验证:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "SQL_SERVER": ".database.windows.net",
    "SQL_DATABASE": ""
  }
}
注: 身份验证使用 azure-active-directory-default,因此请确保您的身份(例如,通过 az login)可以访问SQL数据库。

4.启动Azurite

功能应用程序在本地使用Azure存储(AzureWebJobsStorage 设置为 UseDevelopmentStorage=true).在运行服务器之前启动Azurite存储模拟器:

docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 \
    mcr.microsoft.com/azure-storage/azurite

5.构建并启动服务器

使用VS Code任务(推荐):

  • F5 或单击 运行->开始调试.

或者从终端(在项目根目录中):

npm run build
func start

MCP端点将在以下位置可用: http://localhost:7071/runtime/webhooks/mcp

6.将VS Code连接为MCP客户端

该项目包括 .vscode/mcp.json 已配置本地服务器条目:

{
  "servers": {
    "demo-local-server": {
      "type": "http",
      "url": "http://localhost:7071/runtime/webhooks/mcp"
    }
  }
}

打开命令选项板(Cmd+Shift+P) → MCP:列出服务器 → 选择 demo-local-server开始。工具和小部件现在将在Copilot Chat中可用。

7.测试工具

在Copilot聊天中,尝试:

  • “列出所有事件”
  • “显示新的关键事件”
  • “显示上周发生的事件”
  • “获取事件4的详细信息”
  • “将莉莉分配到事件2”
  • “显示未分配的高严重性事件”

事件分类小部件将在聊天中内联呈现,显示一个可过滤的、分页的事件表。单击任何事件标题以深入查看其详细信息和时间线视图。

崭新的开始

要删除已编译的输出并从头开始重建,请执行以下操作:

npm start

这运行 cleanbuildfunc start 自动。用于完全重置,包括 node_modules:

rm -rf dist node_modules
npm install
npm run build
func start

部署

部署到Azure

  1. 创建Node 22功能应用程序 --跟随 在Azure门户中创建功能应用程序 创建新功能应用程序的指南。
  1. 设置应用程序设置 --在Azure门户中,转到您的功能应用程序→ 设置环境变量 → click +添加 对于以下每一项,然后单击 应用:
设置
SQL_SERVER.database.windows.net
SQL_DATABASE``
FUNCTIONS_EXTENSIONBUNDLE_SOURCE_URIhttps://cdn-staging.functions.azure.com/public
  1. 配置用户分配的托管身份创建用户分配的托管身份 如果你还没有,那么:

a.在Azure门户中,转到您的功能应用程序→ 设置身份用户分配 tab → 添加 → 选择用户分配的托管身份。

b.通过在SQL数据库上以Azure AD管理员身份运行以下T-SQL,授予对Azure SQL数据库的托管身份访问权限:

   CREATE USER [] FROM EXTERNAL PROVIDER;
   ALTER ROLE db_datareader ADD MEMBER [];
   ALTER ROLE db_datawriter ADD MEMBER [];

替换 `` 使用用户分配的托管身份资源的名称。

  1. 将用户分配的托管身份的客户端ID添加为应用程序设置,如步骤2所示:
设置
AZURE_CLIENT_ID用户分配的托管身份的客户端ID
  1. 部署应用程序 --在VS Code中,右键单击Azure Functions扩展中的项目→ 部署到功能应用程序 → 选择您的功能应用程序。

防火墙/网络

要允许函数应用程序连接到Azure SQL,请执行以下操作:

  1. 在Azure门户中,转到 SQL 服务器 (不是数据库)。
  2. 导航至 安全网络.
  3. 检查 “允许Azure服务和资源访问此服务器”.
  4. 点击 保存.

远程测试

1.将远程服务器添加到 .vscode/mcp.json

{
  "servers": {
    "-remote": {
      "type": "http",
      "url": "https://.azurewebsites.net/runtime/webhooks/mcp"
    }
  }
}

2.设置服务器授权

要使用内置身份验证保护远程MCP端点,请按照中的说明进行操作 启用内置服务器授权和身份验证 导游。

3.连接并测试

打开命令选项板→ MCP:列出服务器 → 选择您的远程服务器→ 开始.

测试与本地测试相同的提示——这些工具现在将对您部署的Function App和生产Azure SQL数据库执行。

项目结构

├── host.json                  # Azure Functions host config + MCP server settings
├── local.settings.json        # Local environment variables (not committed)
├── package.json               # Dependencies and scripts
├── setup.sql                  # SQL script to create tables and seed 20 incidents
├── tsconfig.json              # TypeScript configuration
└── src/
    ├── db.ts                  # Azure SQL connection pool (Azure AD auth)
    ├── index.ts               # App setup (enables HTTP streaming, registers functions)
    ├── app/                   # Incident Triage widget (Vite + TypeScript)
    │   ├── index.html         # Widget HTML + CSS
    │   ├── package.json       # Widget dependencies (@modelcontextprotocol/ext-apps)
    │   ├── vite.config.ts     # Vite config (single-file output)
    │   └── src/
    │       └── incident-app.ts  # Widget logic (list/detail views, filters, pagination)
    └── functions/
        ├── listIncidents.ts          # list_incidents tool (filters, sorting)
        ├── getIncidentDetails.ts     # get_incident_details tool (detail + timeline)
        ├── assignIncident.ts         # assign_incident tool (assign/unassign)
        └── incidentWidgetResource.ts # MCP resource serving the widget HTML

目录标签

目录标签

事件管理TypeScriptVS Code本地部署交互式UIAzureFunctionsMCP扩展Copilot集成

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP