MCP Server: App Insights

本项目 'mcp-server-app-insight' 实现了Model Context Protocol (MCP) 服务器,专注于提供对 Azure Application Insights 数据的访问能力。通过此服务器,LLM 客户端可以调用工具查询应用程序的用户活动日志,从而为 LLM 应用提供更丰富的上下文信息。

主要功能点:

  • 用户活动查询: 提供 'user_activity' 工具,允许 LLM 客户端根据用户ID和时间范围查询 Azure Application Insights 中的用户活动数据,包括请求、异常和跟踪日志。
  • 数据来源: 对接 Azure Application Insights 服务,为 LLM 应用提供实时的应用监控数据。
  • 标准 MCP 协议: 遵循 MCP 协议标准,易于与各种 MCP 客户端集成。
  • 基于 FastMCP 框架: 使用 FastMCP 框架构建,简化了 MCP 服务器的开发和部署。
  • SSE 传输: 支持 Server-Sent Events (SSE) 传输协议,实现与客户端的实时通信。

安装步骤:

  1. 克隆仓库: 将 'model-context-protocol-investigations' 仓库克隆到本地。

    git clone https://github.com/Bouvet-AI-Sandbox/model-context-protocol-investigations.git
    cd model-context-protocol-investigations/mcp-server-app-insight
  2. 安装依赖: 使用 pip 安装项目依赖。

    pip install python-dotenv mcp-server-sdk pydantic requests
  3. 配置环境变量: 在 'mcp-server-app-insight' 目录下创建 '.env' 文件,并填入您的 Azure Application Insights App ID 和 API Key。

    APPLICATION_INSIGHT_APP_ID=<您的 Application Insights App ID>
    APPLICATION_INSIGHT_API_KEY=<您的 Application Insights API Key>

    请确保您已在 Azure 门户中创建 Application Insights 资源并获取了相应的 API Key。

服务器配置 (MCP 客户端配置):

为了让 MCP 客户端(例如 MCP Inspector)连接到此服务器,您需要提供以下配置信息。这通常在 MCP 客户端的设置中完成,例如在 MCP Inspector 中添加 Server 连接时。

{
  "serverName": "AppInsightsServer",  // 服务器名称,可以自定义
  "command": "python",             // 运行服务器的命令,这里使用 python
  "args": ["server.py", "--transport", "sse"] // 启动服务器的参数,指定使用 SSE 传输协议
}

基本使用方法:

  1. 启动服务器: 在 'mcp-server-app-insight' 目录下,使用以下命令启动 MCP 服务器。

    python server.py --transport sse

    服务器默认监听 8080 端口,并使用 SSE 协议与客户端通信。

  2. 连接 MCP 客户端: 配置您的 MCP 客户端(如 MCP Inspector 或支持 MCP 的 LLM 应用),使用上述服务器配置信息连接到 'AppInsightsServer'。

  3. 调用 'user_activity' 工具: 在 MCP 客户端中,您可以指示 LLM 使用 'user_activity' 工具。该工具需要以下参数:

    • 'userId': 要查询用户活动的邮箱地址。
    • 'duration': 查询的时间范围,使用 ISO8601 格式,默认为 'P1D' (一天)。

    LLM 客户端会根据用户的自然语言指令,判断是否需要调用 'user_activity' 工具,并提示用户确认参数。确认后,客户端会将请求发送到 'AppInsightsServer',服务器会查询 Azure Application Insights 并返回结果给客户端,最终呈现给用户或供 LLM 使用。

信息

分类

开发者工具