项目简介

Axiom MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它充当 AI Agent 和 Axiom 数据平台之间的桥梁。该服务器允许 AI Agent 通过调用预定义的工具,使用 Axiom Processing Language (APL) 查询和分析存储在 Axiom 中的日志和事件数据。

简单来说,这个工具让你的 AI 助手能够查询 Axiom 数据库里的数据,就像让助手拥有了查看和分析日志的能力。

主要功能点

  • 数据查询 (queryApl): 允许 AI Agent 使用强大的 Axiom Processing Language (APL) 查询 Axiom 数据集,检索日志、事件等信息。APL 是一种专门为日志分析设计的查询语言,功能强大。
  • 数据集列表 (listDatasets): 允许 AI Agent 获取 Axiom 中可用的数据集列表,方便了解数据源。
  • 数据集信息和Schema (getDatasetInfoAndSchema): 允许 AI Agent 获取指定数据集的详细信息,包括字段 Schema (数据结构),这对于 AI Agent 理解数据内容和构建查询非常重要。

总而言之,它提供了三个核心功能:

  1. 让 AI 查数据: 使用 APL 语言查询 Axiom 日志数据。
  2. 告诉 AI 有哪些数据: 列出 Axiom 中可用的数据集。
  3. 帮 AI 理解数据结构: 获取数据集的字段信息,让 AI 知道数据长什么样,方便查询。

安装步骤

  1. 安装 npm 包: 确保你的环境中安装了 Node.js 和 npm。在终端中运行以下命令全局安装 'mcp-server-axiom':

    npm install -g mcp-server-axiom

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到 Axiom MCP Server。以下配置信息应该添加到你的 MCP 客户端的服务器配置中。

{
  "axiom": {
    "name": "axiom",
    "command": "npx",
    "args": ["-y", "mcp-server-axiom"],
    "env": {
      "AXIOM_TOKEN": "<你的Axiom API Token>",  // 必须:你的 Axiom API Token
      "AXIOM_URL": "https://api.axiom.co",    // 可选:Axiom API 地址,默认为 https://api.axiom.co
      "AXIOM_ORG_ID": "<你的Axiom Org ID>"     // 必须:你的 Axiom Organization ID
    }
  }
}

配置参数说明:

  • name: 服务器名称,可以自定义,例如 "axiom"。
  • command: 启动服务器的命令,这里使用 'npx' 来运行全局安装的 'mcp-server-axiom' 包。
  • args: 传递给启动命令的参数,这里使用 '-y' 允许 'npx' 自动安装 'mcp-server-axiom' (如果尚未安装)。
  • env: 设置服务器运行所需的环境变量:
    • AXIOM_TOKEN: 必须提供,用于 Axiom API 鉴权的 Token,请替换为你的 Axiom API Token。
    • AXIOM_URL: 可选,如果你使用非默认的 Axiom API 地址,请在此处指定。
    • AXIOM_ORG_ID: 必须提供,你的 Axiom Organization ID,用于指定操作的 Axiom 组织。

注意: 你需要先在 Axiom 官网 获取 AXIOM_TOKENAXIOM_ORG_ID

基本使用方法

  1. 启动 MCP 服务器 (通常由 MCP 客户端自动启动): 当 MCP 客户端需要与 Axiom MCP Server 交互时,会根据你提供的配置信息自动启动服务器。

  2. 通过 MCP 客户端调用 Tool: 在你的 MCP 客户端中,你可以调用以下 Tool 来与 Axiom MCP Server 交互:

    • queryApl (查询 APL): 执行 APL 查询语句。你需要提供 'query' 参数,包含要执行的 APL 查询语句。

      示例 (假设使用 curl 模拟 MCP 客户端发送请求):

      curl -X POST http://localhost:3000/tools/queryApl/call \
        -H "Content-Type: application/json" \
        -d '{
          "arguments": {
            "query": "['logs'] | where ['severity'] == \"error\" | limit 10"
          }
        }'
    • listDatasets (列出数据集): 获取数据集列表,无需参数。

      示例:

      curl -X POST http://localhost:3000/tools/listDatasets/call \
        -H "Content-Type: application/json" \
        -d '{
          "arguments": {}
        }'
    • getDatasetInfoAndSchema (获取数据集信息和Schema): 获取指定数据集的详细信息和 Schema。你需要提供 'dataset' 参数,指定要查询的数据集名称。

      示例:

      curl -X POST http://localhost:3000/tools/getDatasetInfoAndSchema/call \
        -H "Content-Type: application/json" \
        -d '{
          "arguments": {
            "dataset": "your_dataset_name"  // 替换为你要查询的数据集名称
          }
        }'

请注意: 以上 'curl' 命令仅为演示如何调用 Tool,实际使用时你需要通过 MCP 客户端提供的界面或 API 来调用这些 Tool。具体操作方式请参考你使用的 MCP 客户端的文档。

总结: 安装 Axiom MCP Server 后,配置你的 MCP 客户端,即可让 AI Agent 具备查询和分析 Axiom 数据的能力,从而实现更智能化的日志分析、监控告警等应用场景。

信息

分类

开发者工具