使用说明

项目简介

该项目实现了一个 MCP (Model Context Protocol) 服务器,旨在帮助大型语言模型(LLM)通过自然语言查询 Azure Log Analytics 服务。它利用 Anthropic 的 Claude AI 模型将自然语言查询转换为 Kusto 查询语言 (KQL),然后在 Azure Log Analytics 中执行查询,并将结果格式化后返回给 LLM 客户端。

主要功能点

  • 自然语言到 KQL 的转换: 使用 Claude AI 将用户的自然语言日志查询转换为 Azure Log Analytics 可执行的 KQL 查询。
  • Azure Log Analytics 查询执行: 执行生成的 KQL 查询,并从 Azure Log Analytics 服务获取日志数据。
  • 结果格式化: 将查询结果格式化为易于 LLM 理解和处理的结构化文本。
  • MCP 服务器模式: 以 MCP 服务器的形式运行,可以与任何兼容 MCP 协议的 LLM 客户端集成。
  • 提供 'query_logs' 工具: 向 MCP 客户端暴露 'query_logs' 工具,允许 LLM 通过调用该工具来查询 Azure 日志。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/MananShahTR/azure-log-analytics-mcp.git
    cd azure-log-analytics-mcp
  2. 安装依赖:
    npm install
  3. 构建项目:
    npm run build

服务器配置

要将此 MCP 服务器添加到 MCP 客户端的配置中,您需要提供以下 JSON 配置信息。请注意,您需要将 'path/to/azure-log-analytics-mcp' 替换为实际的项目路径,并将 'your_key_here' 替换为您的 Anthropic API 密钥。

{
  "mcpServers": {
    "azure-log-analytics": {
      "command": "node",
      "args": ["path/to/azure-log-analytics-mcp/build/mcp-server.js"],
      "env": {
        "ANTHROPIC_API_KEY": "your_key_here"
      }
    }
  }
}
  • 'server name' (azure-log-analytics): MCP 服务器的名称,客户端使用此名称来引用服务器。
  • 'command' (node): 启动 MCP 服务器的命令,这里使用 Node.js 运行时。
  • 'args' (["path/to/azure-log-analytics-mcp/build/mcp-server.js"]): 启动命令的参数,指向构建后的 MCP 服务器入口文件。 请务必替换 'path/to/azure-log-analytics-mcp' 为您的仓库实际路径。
  • 'env' ({"ANTHROPIC_API_KEY": "your_key_here"}): 设置 MCP 服务器运行所需的环境变量。 请务必替换 'your_key_here' 为您的 Anthropic API 密钥。

基本使用方法

  1. 启动 MCP 服务器: 按照上述服务器配置,MCP 客户端在连接到 'azure-log-analytics' 服务器时,将执行配置的命令来启动此服务器。

  2. 使用 'query_logs' 工具: 在 LLM 应用中,可以使用 'use_mcp_tool' 等函数调用 'query_logs' 工具来查询 Azure Log Analytics。例如:

    use_mcp_tool({
      server_name: "azure-log-analytics",
      tool_name: "query_logs",
      arguments: {
        query: "Show me all errors in the authentication service from the last hour",
        timeRange: "last hour",
        limit: 10
      }
    });
    • 'server_name': 指定要使用的 MCP 服务器名称,这里是 '"azure-log-analytics"'。
    • 'tool_name': 指定要调用的工具名称,这里是 '"query_logs"'。
    • 'arguments': 传递给 'query_logs' 工具的参数,包括:
      • 'query': 自然语言查询语句 (必填)。
      • 'timeRange': 可选的时间范围,例如 "last 24 hours", "past week"。
      • 'limit': 可选的最大结果数量。

通过以上步骤,LLM 客户端即可利用此 MCP 服务器实现通过自然语言查询 Azure Log Analytics 日志的功能。

信息

分类

数据库与文件