返回市场
日志分析器_mcp

日志分析器_mcp

作者:djm815 星标更新:2025-06-09

项目介绍

Log Analyzer MCP

CI codecov PyPI - Version

概述:轻松分析日志

Log Analyzer MCP 是一个强大的基于Python的工具包,旨在简化您与日志文件的交互方式。无论您是在调试复杂的应用程序、监控测试运行,还是仅仅试图理解冗长的日志输出,此工具都提供了命令行界面(CLI)和模型上下文协议(MCP)服务器,帮助您快速高效地找到所需的洞察。

为什么使用Log Analyzer MCP?

  • 简化日志分析: 使用灵活的解析、高级过滤(基于时间、内容、位置)以及可配置的上下文显示来消除噪音。
  • 集成到您的工作流程中: 作为独立的loganalyzer CLI工具用于脚本编写和直接分析,或将其MCP服务器与兼容客户端如Cursor集成以获得AI辅助体验。
  • 可扩展且可配置: 定义自定义日志源、模式和搜索范围,以满足特定需求。

主要特性

  • 核心日志分析引擎: 强大的后端用于解析和搜索各种日志格式。
  • loganalyzer CLI: 直观的命令行工具,用于直接日志交互。
  • MCP服务器: 将日志分析能力暴露给MCP客户端,支持以下功能:
    • 测试日志总结(analyze_tests)。
    • 执行具有不同详细程度的测试运行。
    • 针对单元测试执行(run_unit_test)。
    • 按需生成代码覆盖率报告(create_coverage_report)。
    • 高级日志搜索:所有记录、基于时间、前/后N条记录。
  • Hatch集成: 便于开发、测试和依赖管理。

安装

此包可以从PyPI安装(一旦发布)或从本地构建进行开发目的安装。

从PyPI安装(推荐给用户)

一旦该包发布到PyPI。

pip install log-analyzer-mcp

这将安装loganalyzer CLI工具,并使MCP服务器包可用于集成。

从本地构建安装(适用于开发者或测试)

如果您已克隆了仓库并希望使用本地更改:

  1. 确保已安装Hatch。 (参见开发者指南

  2. 构建包:

    hatch build
    

    这将在dist/目录中创建wheel和sdist包。

  3. 将本地构建安装到Hatch环境(或其他虚拟环境)中:<version>替换为生成的wheel文件中的实际版本(例如,0.2.7)。

    # 如果使用Hatch环境:
    hatch run pip uninstall log-analyzer-mcp -y && hatch run pip install dist/log_analyzer_mcp-<version>-py3-none-any.whl
    
    # 对于其他虚拟环境:
    # pip uninstall log-analyzer-mcp -y # (如果之前已安装)
    # pip install dist/log_analyzer_mcp-<version>-py3-none-any.whl
    

    对于像Cursor这样的IDE,为了识别MCP服务器的变化,可能需要手动重新加载服务器在IDE中。详情请参阅开发者指南

开始使用:使用Log Analyzer MCP

有两种主要方式使用Log Analyzer MCP:

  1. 作为命令行工具(loganalyzer):

    • 适合直接分析、脚本编写或快速检查。
    • 需要Python 3.9+。
    • 安装方法,请参阅上面的安装部分。
    • 详细的使用方法,请参阅CLI使用指南(即将推出)或CLI命令的API参考
  2. 作为MCP服务器(例如,与Cursor一起):

    • 将日志分析能力直接集成到您的AI辅助开发环境中。
    • 安装方法,请参阅安装部分。安装包时会包含MCP服务器组件。
    • 有关如何与Cursor等客户端配置和运行服务器的详细信息,请参阅下面的配置和运行MCP服务器部分和开发者指南

配置和运行MCP服务器

配置

Log Analyzer MCP(对于CLI和服务器)的配置主要通过环境变量或项目根目录下的.env文件处理。

  • 环境变量: 在工具或服务器运行的环境中设置变量,如LOG_DIRECTORIESLOG_PATTERNS_ERRORLOG_CONTEXT_LINES_BEFORELOG_CONTEXT_LINES_AFTER等。
  • .env文件: 复制.env.template(此模板文件需要创建并添加到仓库中),并自定义值。

关于所有配置选项及其用法的全面列表,请参阅即将推出的配置指南(注意:应创建并添加.env.template文件到仓库,以提供用户的起点。)

运行MCP服务器

MCP服务器可以通过多种方式启动:

  1. 通过MCP客户端(例如,Cursor): 配置您的客户端以启动log-analyzer-mcp可执行文件(通常使用类似uvx的帮助工具)。这是典型的集成方式。

    示例客户端配置(例如,在.cursor/mcp.json中):

    {
      "mcpServers": {
        "log_analyzer_mcp_server_prod": {
          "command": "uvx", // uvx是一个从venv运行python可执行文件的工具
          "args": [
            "log-analyzer-mcp" // 从PyPI获取并运行最新版本
            // 或,对于特定版本:"log-analyzer-mcp==0.2.0"
          ],
          "env": {
            "PYTHONUNBUFFERED": "1",
            "PYTHONIOENCODING": "utf-8",
            "MCP_LOG_LEVEL": "INFO", // 推荐用于生产
            // "MCP_LOG_FILE": "/path/to/your/logs/mcp/log_analyzer_mcp_server.log", // 可选
            // --- 通过环境变量配置Log Analyzer特定设置 ---
            // 这些传递给服务器使用的分析引擎。
            // 示例:"LOG_DIRECTORIES": "[\"/path/to/your/app/logs\"]",
            // 示例:"LOG_PATTERNS_ERROR": "[\"Exception:.*\"]"
            // (参见即将推出的docs/configuration.md中的所有选项)
          }
        }
        // 您可以在这里添加其他MCP服务器
      }
    }
    

    注意事项:

  2. 直接运行(用于开发/测试): 如果需要,可以直接使用其入口点运行服务器。安装后可用的log-analyzer-mcp命令:

    log-analyzer-mcp --transport http --port 8080
    # 或用于stdio传输
    # log-analyzer-mcp --transport stdio
    

    有关更多选项,请参阅log-analyzer-mcp --help。对于开发,使用pyproject.toml中定义的Hatch脚本或开发者指南中描述的方法也很常见。

文档

  • API参考 详细参考MCP服务器工具和CLI命令。
  • 入门指南 供用户和集成者使用。此指南提供了总体概述。
  • 开发者指南 供贡献者使用,涵盖环境设置、构建、详细的测试过程(包括覆盖率检查)和发布指南。
  • (即将推出)配置指南 详细解释所有.env和环境变量设置。(此文档需要创建。)
  • (即将推出)CLI使用指南 全面指导所有loganalyzer命令和选项。(此文档需要创建。)
  • .env.template 用于配置环境变量的模板文件。(此文件需要创建并添加到仓库中。)
  • 重构计划 关于项目持续演进的技术细节。

测试

要运行测试并生成覆盖率报告,请参阅开发者指南中的综合测试指南。此部分涵盖了使用hatch test、带有覆盖率的测试运行、生成HTML报告以及针对特定测试的目标。

贡献

我们欢迎贡献!请参阅CONTRIBUTING.md开发者指南,了解如何设置环境、测试和贡献的指南。

许可证

Log Analyzer MCP根据MIT许可证(附带Commons条款)授权。详情请参阅LICENSE.md