项目简介

PyTorch HUD MCP服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,旨在为LLM客户端提供访问PyTorch持续集成/持续交付 (CI/CD) 数据的能力。它作为一个桥梁,使得LLM能够便捷地获取PyTorch项目的构建状态、测试结果、日志信息以及性能分析数据,从而支持更智能化的CI/CD流程管理和问题诊断。

主要功能点

  • CI/CD数据访问: 提供对PyTorch项目工作流、任务 (Job) 和测试运行数据的访问接口,方便LLM获取最新的CI/CD状态。
  • 高效日志分析: 支持下载和分析大型CI日志文件,提取关键信息如错误、警告和测试结果,帮助快速定位问题。
  • ClickHouse查询集成: 集成ClickHouse数据查询功能,允许LLM通过预定义的查询语句获取更深度的CI/CD分析数据。
  • 资源利用率指标: 提供资源利用率指标,可能用于监控和优化CI/CD资源使用情况(具体功能需进一步代码分析确认)。

安装步骤

  1. 安装Python包: 使用pip命令从GitHub仓库直接安装:
    pip install git+https://github.com/izaitsevfb/claude-pytorch-treehugger.git

服务器配置

MCP客户端需要配置以下信息以连接到PyTorch HUD MCP服务器:

{
  "serverName": "pytorch-hud",
  "command": "python",
  "args": ["-m", "pytorch_hud"]
}

配置参数说明:

  • 'serverName': MCP服务器的名称,可以自定义,例如 "pytorch-hud"。
  • 'command': 启动MCP服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给 'python' 命令的参数,'-m pytorch_hud' 表示以模块方式运行 'pytorch_hud' 包,启动MCP服务器。

基本使用方法

  1. 启动MCP服务器: 在安装了 'pytorch_hud' 包的环境中,MCP客户端根据上述配置启动服务器。服务器默认监听在标准输入/输出 (stdio) 或其他配置的协议上。

  2. 客户端请求: LLM客户端可以通过JSON-RPC协议向MCP服务器发送请求,例如:

    • 请求获取最近的提交状态和任务信息('get_recent_commits_with_jobs_resource' 工具)。
    • 请求下载特定任务的日志文件('download_log_to_file_resource' 工具)。
    • 请求分析日志文件中的错误模式('extract_log_patterns_resource' 工具)。
    • 请求执行预定义的ClickHouse查询('query_clickhouse_resource' 工具)。
  3. 数据交互: MCP服务器接收到客户端请求后,会调用相应的PyTorch HUD API功能,并将处理结果以JSON-RPC响应的形式返回给客户端。客户端可以解析JSON响应以获取所需的数据和信息,并将其用于LLM的上下文理解和决策过程。

注意: 具体可用的工具和资源请参考仓库 'pytorch_hud/server/mcp_server.py' 文件中的 '@mcp.tool()' 装饰器定义的方法,以及函数的文档字符串。客户端需要根据这些工具的名称和参数来构造JSON-RPC请求。

信息

分类

开发者工具