Token导航 LogoToken导航TokenDH.com
Vllm Ci MCP logo
开发工具stdio官方级别未说明来源级核验

Vllm Ci MCP

MCP Server

用于vLLM CI监控的MCP服务器,扫描Buildkite构建,提取并分类失败,生成可复制粘贴的报告。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude开发工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dougbtv

提供方

dougbtv

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

vllm-ci-mcp

用于vLLM CI监控的MCP服务器。扫描Buildkite构建,提取故障,对其进行分类,并生成易于复制/粘贴的报告。

特性

  • 按ID/URL扫描最新的夜间版本或特定版本
  • 从pytest输出中提取测试级失败
  • 将故障分类为:

- KNOWN_TRACKED -发现现有GitHub问题 - INFRA_SUSPECTED -基础架构模式(超时、OOM、网络) - FLAKY_SUSPECTED -测试指标有缺陷 - NEW_REGRESSION -需要注意的新故障 - NEEDS_HUMAN_TRIAGE -数据不足

  • 从CODEOWNERS和git推断测试所有者
  • 生成降价报告:

- 每日调查结果:详细分类 - 站立总结:简洁的1-3行总结

  • 工具丢失时性能下降

先决条件

  • Python 3.11+
  • Buildkite命令行界面: brew install buildkite/buildkite/bk
  • GitHub命令行界面 (可选): brew install gh
  • Git (可选,用于所有者推断):通常预先安装

安装

cd /home/doug/codebase/vllm-ci-mcp
pip install -e .

# Install dev dependencies
pip install -e ".[dev]"

认证

构建套件

设置您的Buildkite API令牌:

export BUILDKITE_TOKEN="your-buildkite-token"

从以下位置获取令牌:https://buildkite.com/user/api-access-tokens

GitHub(可选)

验证GitHub CLI:

gh auth login

回购路径(可选)

对于所有者推断,请设置本地vLLM签出的路径:

export VLLM_REPO_PATH=/path/to/vllm

运行MCP服务器

本地开发

# Run directly
python -m ciwatch_mcp.server

# Or use the installed script
ciwatch-mcp

克劳德代码(CLI)

推荐:使用 claude mcp add 命令:

# 1. Install the MCP server in development mode
cd /path/to/vllm-ci-mcp
pip install -e .

# 2. Navigate to this project directory and add the MCP server
cd /path/to/vllm-ci-mcp
claude mcp add --transport stdio vllm-ci-watch -- python -m ciwatch_mcp.server

# 3. Add environment variables to ~/.claude.json
# Find the vllm-ci-mcp project section and add env vars to the mcpServers entry:
# Edit manually or use:
python3 << 'EOF'
import json
config_path = "/home/doug/.claude.json"
with open(config_path) as f:
    config = json.load(f)

# Update the project-specific MCP server config
project_path = "/home/hdds/480ssd/codebase/vllm-ci-mcp"  # Adjust to your path
if project_path in config.get("projects", {}):
    if "vllm-ci-watch" in config["projects"][project_path].get("mcpServers", {}):
        config["projects"][project_path]["mcpServers"]["vllm-ci-watch"]["env"] = {
            "BUILDKITE_TOKEN": "your-buildkite-token-here",
            "VLLM_REPO_PATH": "/path/to/your/vllm/repo"
        }

with open(config_path, 'w') as f:
    json.dump(config, f, indent=2)
print("Updated env vars for vllm-ci-watch")
EOF

# 4. Restart Claude Code
# Run: /mcp
# You should see "vllm-ci-watch" listed

替代方案:手动配置 ~/.claude.json:

claude mcp add 命令在中创建特定于项目的配置 ~/.claude.json。您也可以手动将其添加到项目的 mcpServers 章节:

{
  "projects": {
    "/path/to/vllm-ci-mcp": {
      "mcpServers": {
        "vllm-ci-watch": {
          "type": "stdio",
          "command": "python",
          "args": ["-m", "ciwatch_mcp.server"],
          "env": {
            "BUILDKITE_TOKEN": "your-token-here",
            "VLLM_REPO_PATH": "/path/to/vllm"
          }
        }
      }
    }
  }
}

测试连接:

重新启动Claude Code后,您可以通过以下方式进行测试:

  • “扫描最新的vLLM夜间版本”
  • “检查构建47580是否失败”
  • “我们遇到了哪些CI故障?”

在克劳德桌面

添加到您的Claude Desktop MCP配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "vllm-ci-watch": {
      "command": "python",
      "args": ["-m", "ciwatch_mcp.server"],
      "env": {
        "BUILDKITE_TOKEN": "your-token-here",
        "VLLM_REPO_PATH": "/path/to/vllm"
      }
    }
  }
}

用法

MCP工具

服务器提供三个MCP工具:

1. ciwatch.scan_latest_nightly

扫描最新的夜间版本。

参数:

  • pipeline (str,默认值: "vllm/ci"):Buildkite管道段塞
  • branch (str,默认值: "main"):Git分支
  • repo (str,默认值: "vllm-project/vllm"):用于问题搜索的GitHub仓库
  • search_github (bool,默认值: true):是否在GitHub上搜索问题

退货:

{
  "build_info": {...},
  "total_jobs": 50,
  "failed_jobs": 5,
  "failures": [...],
  "daily_findings_text": "# Daily Findings...",
  "standup_summary_text": "Nightly build [#123]..."
}

例子:

# In Claude Code or MCP client
result = await ciwatch.scan_latest_nightly()
print(result["daily_findings_text"])

2. ciwatch.scan_build

按编号或URL扫描特定版本。

参数:

  • build_id_or_url (str,必填):内部版本号(例如。, "12345")或Buildkite URL
  • pipeline (str,默认值: "vllm/ci")
  • repo (str,默认值: "vllm-project/vllm")
  • search_github (bool,默认值: true)

例子:

result = await ciwatch.scan_build(
    build_id_or_url="https://buildkite.com/vllm/ci/builds/47580"
)

3. ciwatch.render

以不同格式重新呈现扫描结果。

参数:

  • scan_result (dict,必填):结果来自 scan_latest_nightlyscan_build
  • format (str,默认值: "daily_findings"): "daily_findings""standup"

例子:

standup = await ciwatch.render(result, format="standup")

输出示例

每日调查结果

# Daily Findings - 2026-01-19

## Summary
- **Build**: [47580](https://buildkite.com/vllm/ci/builds/47580)
- **Branch**: main
- **Commit**: `abc12345`
- **Total Jobs**: 50, **Failed**: 5
- **Unique Failures**: 8

## Failures by Category

### NEW_REGRESSION (3 failures)

- **tests/test_async_llm_dp.py::test_load[ray-RequestOutputKind.DELTA]** in `GPU Tests`
  - Error: `AssertionError: expected 5, got 3`
  - Reason: New failure with no known pattern
  - Confidence: 50%
  - Owner: alice@example.com (confidence: 90%)

### INFRA_SUSPECTED (2 failures)
...

站立总结

Nightly build [47580](https://buildkite.com/vllm/ci/builds/47580) FAILED with 8 unique failures: 3 NEW_REGRESSION, 2 INFRA_SUSPECTED, 3 FLAKY_SUSPECTED. Key NEW_REGRESSION tests: test_load, test_async_engine, test_embedding

分类逻辑

优先顺序

  1. KNOWN_TRACKED:测试存在GitHub问题
  2. 被怀疑的基础设施:日志与基础结构模式匹配:

- 超时、网络错误 - 内存不足(OOM、CUDA OOM) - 磁盘空间问题 - 进程已终止(SIGKILL)

  1. 可疑:检测到有缺陷的指示器:

- 测试名称中的“片状” - 日志中“重试时传递”

  1. 新回归:有错误详细信息,但没有已知模式
  2. 需求_人力_婚姻:数据不足

去重

使用以下稳定哈希值对故障进行重复数据消除:

  • 作业名称(标准化)
  • 测试名称
  • 错误签名(异常类型+第一行)

建筑

模块

  • models.py:用于构建/作业/失败数据的Pydantic模式
  • config.py:常量和默认值
  • cli.py:子流程包装 bk, gh, git
  • normalize.py:Pytest日志解析和重复数据删除
  • classify.py:分类启发式
  • owners.py:代码所有者解析和git责备
  • render.py:Markdown输出格式化程序
  • server.py:FastMCP工具注册

数据流

Buildkite API (via bk CLI) → Parse builds/jobs → Fetch logs →
Extract test failures → Classify → Deduplicate → Render markdown

测试

运行单元测试:

pytest tests/

跑步覆盖:

pytest --cov=ciwatch_mcp tests/

格式代码:

black ciwatch_mcp/ tests/

故障排除

bk CLI not found

安装Buildkite命令行界面:

brew install buildkite/buildkite/bk

gh CLI not found

服务器可以在没有GitHub CLI的情况下工作,但与已知问题不匹配。要启用:

brew install gh
gh auth login

空结果

检查:

  1. BUILDKITE_TOKEN 已设置
  2. 管道段塞正确(默认值: vllm/ci)
  3. 分支已存在(默认值: main)

性能缓慢

  • 对于包含许多作业的构建,获取日志可能很慢
  • 考虑在后台运行并稍后检查结果
  • GitHub问题搜索会增加延迟(每次失败约1-2s)

贡献

欢迎投稿!拜托:

  1. 添加新功能的测试
  2. 格式化代码 black
  3. 更新README以获取新功能

许可证

许可证

目录标签

目录标签

PythonClaude开发工具CI监控本地部署构建分析失败分类自动化报告

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP