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) 传输协议,实现与客户端的实时通信。
安装步骤:
-
克隆仓库: 将 '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 -
安装依赖: 使用 pip 安装项目依赖。
pip install python-dotenv mcp-server-sdk pydantic requests -
配置环境变量: 在 '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 传输协议 }
基本使用方法:
-
启动服务器: 在 'mcp-server-app-insight' 目录下,使用以下命令启动 MCP 服务器。
python server.py --transport sse服务器默认监听 8080 端口,并使用 SSE 协议与客户端通信。
-
连接 MCP 客户端: 配置您的 MCP 客户端(如 MCP Inspector 或支持 MCP 的 LLM 应用),使用上述服务器配置信息连接到 'AppInsightsServer'。
-
调用 'user_activity' 工具: 在 MCP 客户端中,您可以指示 LLM 使用 'user_activity' 工具。该工具需要以下参数:
- 'userId': 要查询用户活动的邮箱地址。
- 'duration': 查询的时间范围,使用 ISO8601 格式,默认为 'P1D' (一天)。
LLM 客户端会根据用户的自然语言指令,判断是否需要调用 'user_activity' 工具,并提示用户确认参数。确认后,客户端会将请求发送到 'AppInsightsServer',服务器会查询 Azure Application Insights 并返回结果给客户端,最终呈现给用户或供 LLM 使用。
信息
分类
开发者工具