Token导航 LogoToken导航TokenDH.com
Azfunc Insights MCP Server logo
运维云端未说明官方级别未说明来源级核验

Azfunc Insights MCP Server

MCP Server

一个提供Azure Functions资源全面监控和洞察工具的MCP服务器,支持多种查询和分析功能。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
C#Claude云端部署Claude DesktopClaudeVS Code

安装说明

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

作者 / 组织

liliankasem

提供方

liliankasem

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

Azure功能洞察MCP服务器

Azure Functions MCP(模型上下文协议)服务器,为您的Azure Functions资源提供全面的监控和洞察工具。用。NET 10隔离工作程序和Azure Functions MCP扩展。

先决条件

🚀 快速开始

简单的三步设置:

  1. 添加您的Azure订阅IDsrc/local.settings.json:
   {
     "Values": {
       "AZURE_SUBSCRIPTION_ID": "your-subscription-id-here"
     }
   }

> 记得删除 .samplesrc/local.settings.sample.json

  1. 启动MCP服务器:
   cd src
   func start
  1. 连接VS代码:

- 打开 .vscode/mcp.json - 点击“开始” local-azure-function-insights 服务器 - 开始在GitHub Copilot聊天中使用MCP工具!

聊天中的工具调用示例:

  • #mcp_local-azure-f_ListFunctions 列出我的所有Azure功能应用
  • #mcp_local-azure-f_GetFunctionStatus 我的功能应用程序的状态如何?
  • #mcp_local-azure-f_GetFailedExecutions 显示支付处理程序的失败执行
  • #mcp_local-azure-f_ListFailingFunctions 我的哪些功能出现故障?
  • #mcp_local-azure-f_GetTraceLogs 显示损坏应用程序的跟踪日志

特性

🔍 七大强大的MCP工具

  1. 列表功能 -列出订阅中的所有Azure功能应用

- 按资源组筛选 - 分页结果(默认每页50个) - 返回:名称、位置、状态、运行时版本、标记

  1. GetFunction状态 -获取特定功能应用程序的详细状态

- 当前状态(运行、停止等) - 应用程序中所有功能的列表 - 运行时版本和主机信息 - 主机健康检查 (检查 /admin/host/status/admin/host/ping) - 检测运行时错误 (InternalServerError,主机故障)

  1. GetFunctionMetrics -检索执行指标和分析

- 总执行次数、成功执行次数和失败执行次数 - 平均、最小和最大持续时间统计 - 成功率百分比 - 可配置的时间范围(1-720小时)

  1. GetFailed执行失败 -分析最近的故障及其全部细节

- 错误消息和异常类型 - 完整的堆栈跟踪 用于调试 - 用于关联的调用ID - 执行时长 - 包括来自请求、异常和跟踪日志的错误 - 可配置计数(1-100)和时间范围

  1. GetTraceLogs -从Application Insights获取最近的跟踪日志

- 可用于调试损坏的功能应用程序 - 即使请求/异常表为空,也能正常工作 - 可配置的严重性级别过滤(详细、信息、警告、错误、严重) - 可配置的计数和时间范围

  1. 列出失败功能 -所有故障功能应用程序概述

- 显示哪些应用程序最近出现故障 - 每个应用程序的错误率和失败次数 - 先按表现最差者排序 - 整个订阅的快速健康仪表板

  1. 查询应用洞察 -执行自定义KQL查询

- 运行任何Kusto查询语言查询 - 访问完整的应用程序洞察遥测 - 查询日志分析工作区 (AppRequests、AppExceptions、AppTraces表) - 定制分析和报告 - 可配置的时间范围

设置

1.克隆和恢复

git clone https://github.com/liliankasem/azfunc-insights-mcp-server.git
cd /path/to/azfunc-insights-mcp
dotnet restore

2.配置身份验证

选项A:Azure CLI(建议用于本地开发)

az login
az account set --subscription "YOUR_SUBSCRIPTION_ID"

选项B:服务负责人(生产/CI/CD)

设置环境变量:

export AZURE_TENANT_ID="your-tenant-id"
export AZURE_CLIENT_ID="your-client-id"
export AZURE_CLIENT_SECRET="your-client-secret"

3.配置应用程序设置

编辑 local.settings.json:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
        "AZURE_SUBSCRIPTION_ID": "your-subscription-id-here"
    }
}

必修的:

  • AZURE_SUBSCRIPTION_ID -您的Azure订阅ID

4.授予所需的Azure权限

您的Azure身份(用户或服务主体)需要:

  • 读者 在包含功能应用程序的订阅或资源组中的角色
# Grant Reader access to subscription
az role assignment create \
  --assignee "user@example.com" \
  --role "Reader" \
  --scope "/subscriptions/YOUR_SUBSCRIPTION_ID"

本地运行

启动Azurite(Azure存储模拟器)

如果您没有配置Azure存储:

# Install Azurite
npm install -g azurite

# Start Azurite
azurite --silent --location ./azurite --debug ./azurite/debug.log

运行功能应用程序

cd src
func start

部署

使用Azure Developer CLI部署到Azure

部署最简单的方法是使用 azd:

# Login to Azure
az login

# Deploy everything (infrastructure + app)
azd up

# You'll be prompted for:
# - Environment name (e.g., "dev", "prod")
# - Azure location (e.g., "eastus", "westus2")
# - Azure subscription (if you have multiple)

部署的内容:

  • 资源组
  • 存储帐户
  • 应用洞察
  • 应用服务计划(灵活消费-FC1 SKU)
  • 功能应用程序:

- 系统分配的管理身份 - Flex消费配置(2048 MB内存,最多100个实例) - 所需的应用程序设置(订阅ID,默认为此应用程序正在部署到的订阅ID) - 自动RBAC角色分配(订阅阅读器、日志分析阅读器)

更新应用程序代码:

azd deploy

清理所有资源:

azd down

使用示例

连接MCP客户端

配置您的MCP客户端(例如,Claude Desktop、VS Code扩展)以连接到:

http://localhost:7071/runtime/webhooks/mcp

工具调用示例

列出所有功能应用程序

{
  "tool": "ListFunctions",
  "arguments": {}
}

列出特定资源组中的功能应用程序

{
  "tool": "ListFunctions",
  "arguments": {
    "resourceGroupName": "my-functions-rg",
    "pageSize": 25
  }
}

获取功能应用程序状态

{
  "tool": "GetFunctionStatus",
  "arguments": {
    "appName": "my-function-app"
  }
}

获取过去48小时的指标

{
  "tool": "GetFunctionMetrics",
  "arguments": {
    "appName": "my-function-app",
    "hoursBack": 48
  }
}

获取最近20次失败的执行

{
  "tool": "GetFailedExecutions",
  "arguments": {
    "appName": "my-function-app",
    "count": 20,
    "hoursBack": 24
  }
}

查询应用程序洞察(使用日志分析表)

{
  "tool": "QueryApplicationInsights",
  "arguments": {
    "appName": "my-function-app",
    "query": "AppRequests | where Success == false | summarize count() by ResultCode",
    "hoursBack": 24
  }
}

获取调试跟踪日志

{
  "tool": "GetTraceLogs",
  "arguments": {
    "appName": "my-function-app",
    "count": 50,
    "minSeverityLevel": 3,
    "hoursBack": 24
  }
}

列出所有失败的功能应用程序

{
  "tool": "ListFailingFunctions",
  "arguments": {
    "hoursBack": 24
  }
}

故障排除

“未配置AZURE_SUBSCRIPTION_ID”

确保 AZURE_SUBSCRIPTION_ID 已设置 local.settings.json 或环境变量。

“未配置应用程序洞察”

这意味着Function App没有链接Application Insights,或者服务无法发现它。MCP服务器通过以下方式自动发现每个Function App的Application Insights工作区:

  1. 阅读 hidden-link: /app-insights-resource-id 功能应用程序中的标签
  2. 按照资源链查找日志分析工作区
  3. 提取工作区客户ID进行查询

如果遥测功能不起作用,请确保:

  • 功能应用程序启用了应用程序洞察
  • hidden-link: /app-insights-resource-id 标签出现在功能应用程序上
  • 您的托管身份对Application Insights资源具有读取器权限

注: Application Insights工作区发现通过ARM标签工作,独立于Function App的环境变量。这意味着即使Function App主机损坏,它也能正常工作。

“没有遥测数据可用”

当日志分析工作区存在但没有数据时,会出现此消息。常见原因:

  • 功能应用程序尚未被调用
  • 尚未摄入Application Insights数据(可能需要几分钟)
  • 工作区是新创建的,为空
  • 功能应用程序已损坏,无法发送遥测数据

尝试使用 GetTraceLogs 检查是否有任何跟踪数据可用,或 GetFunctionStatus 以验证主机健康状况。

身份验证失败

# Verify Azure CLI login
az account show

# Test Azure access
az functionapp list --query "[].{Name:name, State:state}" -o table

速率限制

该服务将并发Azure API请求限制为5。如果你遇到节流问题,这是为了防止Azure API不堪重负而设计的。

许可证

MIT许可证-有关详细信息,请参阅许可证文件

资源

目录标签

目录标签

C#Claude云端部署AzureFunctions本地部署监控工具MCP服务器性能分析错误诊断

支持客户端

Claude DesktopClaudeVS Code

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP