项目简介
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资源使用情况(具体功能需进一步代码分析确认)。
安装步骤
- 安装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服务器。
基本使用方法
-
启动MCP服务器: 在安装了 'pytorch_hud' 包的环境中,MCP客户端根据上述配置启动服务器。服务器默认监听在标准输入/输出 (stdio) 或其他配置的协议上。
-
客户端请求: LLM客户端可以通过JSON-RPC协议向MCP服务器发送请求,例如:
- 请求获取最近的提交状态和任务信息('get_recent_commits_with_jobs_resource' 工具)。
- 请求下载特定任务的日志文件('download_log_to_file_resource' 工具)。
- 请求分析日志文件中的错误模式('extract_log_patterns_resource' 工具)。
- 请求执行预定义的ClickHouse查询('query_clickhouse_resource' 工具)。
-
数据交互: MCP服务器接收到客户端请求后,会调用相应的PyTorch HUD API功能,并将处理结果以JSON-RPC响应的形式返回给客户端。客户端可以解析JSON响应以获取所需的数据和信息,并将其用于LLM的上下文理解和决策过程。
注意: 具体可用的工具和资源请参考仓库 'pytorch_hud/server/mcp_server.py' 文件中的 '@mcp.tool()' 装饰器定义的方法,以及函数的文档字符串。客户端需要根据这些工具的名称和参数来构造JSON-RPC请求。
信息
分类
开发者工具