Token导航 LogoToken导航TokenDH.com
albs MCP logo
运维云端stdio官方级别未说明来源级核验

albs MCP

MCP Server

ALBS-MCP 是 AlmaLinux 构建系统的服务器和 CLI 工具,支持通过自然语言与 AI 助手交互,用于构建失败调查、创建构建、签名包等操作。

工具数

12

提示词数

0

GitHub Stars

0

资源数

0
Python命令行工具日志分析

安装说明

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

作者 / 组织

AlmaLinux

提供方

AlmaLinux

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install git+https://github.com/AlmaLinux/albs-mcp.git

详细介绍

albs mcp

MCP服务器和CLI AlmaLinux构建系统 (ALBS)。

让AI编码助手直接访问ALBS——通过自然语言调查构建失败、创建构建、签署包。

有两种使用方法:

MCP服务器CLI+技能
工作原理AI通过MCP协议调用工具AI运行 albs 通过shell命令
安装添加到MCP配置安装 albs +为您的AI工具添加技能
最适合专用ALBS工作流程轻量级设置,避免MCP上下文污染
在没有人工智能的情况下工作是(albs 作为独立的CLI工作)

它能做什么

没有令牌(只读)

  • 调查构建失败 --主要用例。给代理一个构建ID,它将遍历日志(mock_root→ mock_sterr→ mock_build),从末尾读取以查找错误,而不会浪费100k+行日志文件上的令牌。
  • 获取构建详细信息 --所有任务、包、架构、签名任务的状态。
  • 列表和搜索构建 --浏览最新版本,按包名或状态筛选。
  • 获取平台 --动态获取所有平台及其支持架构的列表。
  • 下载并阅读日志 --来自任何构建的任何日志文件,具有智能分页(尾部优先,然后是范围)。

使用JWT令牌(经过身份验证)

  • 创建构建 --指定包、平台、分支/标签/SRPM。在单个构建中支持多个平台(例如AlmaLinux-8+AlmaLinux-9)。除非您覆盖,否则架构默认为每个平台的完整列表。支持外部仓库的自定义Git URL git.almalinux.org (例如GitHub、GitLab)。支持所有mkbuild.py选项:链接构建、模拟定义、排除、风格、安全插件、模块、带/不带。
  • 标志构建 --使用所选密钥创建签名任务。
  • 列出标志键 --请参阅带有ID和平台映射的可用密钥。
  • 删除构建 --为了安全而故意封锁。

日志类型

ALBS为每个构建任务生成多个日志文件。调试的关键:

日志里面有什么
mock_rootChroot设置,依赖解析。先检查一下——如果deps失败了,其他什么都不重要。
mock_stderr生成过程中的Stderr输出。通常有最清晰的错误信息。
mock_build完整的构建日志(可以是100k+行)。包含完整的rpmbuild输出。最后检查。
mock_state模拟状态转换。
mock_hw_info构建节点的硬件信息。
mock_installed_pkgschroot中安装的软件包列表。
albsALBS级任务日志(任务分配、上传)。
mock.*.cfg用于构建的模拟配置。

安装

pip install git+https://github.com/AlmaLinux/albs-mcp.git

这将安装MCP服务器(albs-mcp)以及CLI(albs).

认证

JWT令牌从以下位置读取(按顺序检查):

  1. ALBS_JWT_TOKEN 环境变量
  2. ~/.albs/credentials 文件(Python字典,带 token 按键):
{"token": "eyJ..."}

如果没有令牌,MCP和CLI都以只读模式工作。

永远不要承诺真正的代币。 使用env变量或 ~/.albs/credentials,而不是CLI参数。

设置选项1:MCP服务器

添加到MCP客户端配置中(例如。 mcp.json 或同等):

{
  "mcpServers": {
    "albs": {
      "command": "albs-mcp"
    }
  }
}

设置选项2:CLI+技能

对于关注MCP上下文污染的设置,或者使用不支持MCP的工具时。

步骤1。 安装该软件包(与上述相同——为您提供 albs 命令):

pip install git+https://github.com/AlmaLinux/albs-mcp.git

步骤2。 将工作流程说明添加到您的AI工具中:

# Copy the skill directory to your tool's skills location, e.g.:
cp -r skills/albs-cli /albs-cli

或复制以下内容 skills/albs-cli/SKILL.md 进入你的项目 AGENTS.md 或等效的指令文件。

该技能教AI代理相同的工作流程(调查订单、EPEL处理、签名),但通过 albs shell命令而不是MCP工具调用。

步骤3。 验证:

albs --help

CLI也可以独立工作,不需要人工智能。适用于脚本和手动终端使用。

CLI使用情况

# List platforms
albs platforms

# Investigate a build
albs build-info 52679
albs failed-tasks 52679
albs download-log 52679 "mock_build.395391.1772974729.log"
albs log-tail 52679 "mock_build.395391.1772974729.log" -n 200

# Search builds
albs search --project bash --page 2

# Create a build (requires JWT)
albs create-build AlmaLinux-9 bash --branch c9s
albs create-build AlmaLinux-10 https://example.com/pkg.src.rpm \
    --from-srpm --add-epel-dist --arch x86_64_v2 \
    --flavor EPEL-10 --flavor EPEL-10_altarch

# Build on multiple platforms at once
albs create-build AlmaLinux-8 bash --branch c9s \
    --add-platform AlmaLinux-9

# Build from an external Git repo (e.g. GitHub)
albs create-build AlmaLinux-10 \
    --git-url https://github.com/ykohut/leapp-data.git \
    --branch devel-ng-0.23.0

# Sign a build (requires JWT)
albs sign-keys
albs sign-build 52679 --key-id 4

# Pass token via flag or env var
albs --token "eyJ..." sign-keys
ALBS_JWT_TOKEN="eyJ..." albs sign-keys

albs --helpalbs --help 完全使用。

工具参考

只读(无身份验证)

工具说明
get_platforms从ALBS动态获取的所有平台及其架构
get_build_info构建摘要:每个任务都有状态、arch、包、git ref、日志计数
get_failed_tasks仅列出日志文件的失败任务;标记为的密钥日志★
list_build_logs服务器上可用于构建的所有日志/配置文件
download_log将日志文件下载到本地磁盘(/tmp/albs-logs//)
read_log_tail读取下载日志的最后N行(默认3000行——错误在末尾)
read_log_range从下载的日志中读取特定行范围
search_builds按页面浏览构建,按包名或运行状态筛选

已认证(需要JWT)

工具说明
get_sign_keys列出符号键:ID、名称、GPG keyid、活动状态、平台映射
create_build创建构建:包或自定义Git URL+平台+分支/标签/srpm,包含所有模拟选项
sign_build使用所选密钥为构建创建签名任务
delete_build已屏蔽 --因安全原因致残

示例:调查失败的构建

问代理人: *“52679号楼出了什么问题?”*

代理人将:

  1. get_build_info(52679) --看到2个任务:src已完成,x86_64失败
  2. get_failed_tasks(52679) --得到14个日志文件,★ 标记重要的
  3. download_log(52679, "mock_root.395391.1772974729.log") --下载根日志
  4. read_log_tail(52679, "mock_root.395391.1772974729.log") --检查chroot设置:全部干净
  5. download_log(52679, "mock_stderr.395391.1772974729.log") --下载stderr
  6. read_log_tail(52679, "mock_stderr.395391.1772974729.log") --看到rpmbuild命令
  7. download_log(52679, "mock_build.395391.1772974729.log") --下载完整的构建日志(236KB)
  8. read_log_tail(52679, "mock_build.395391.1772974729.log", 200) --发现错误:
   gmake[1]: *** [libtransmission/CMakeFiles/transmission.dir/all] Error 2
  1. 报告: *“由于libtransmission中的编译错误,构建失败。”*

示例:创建构建

问代理人: *“从c9s分支为AlmaLinux-9构建bash”*

代理人将致电:

create_build(packages=["bash"], platform="AlmaLinux-9", branch="c9s")

同时适用于多个平台:

create_build(packages=["bash"], platforms=["AlmaLinux-8", "AlmaLinux-9"], branch="c9s")

对于外部Git仓库(例如GitHub),请使用 git_urls:

create_build(git_urls=["https://github.com/ykohut/leapp-data.git"], platform="AlmaLinux-10", branch="devel-ng-0.23.0")

架构默认为每个平台的完整列表。当 arch_list 如果指定了多个平台,则分别针对每个平台进行验证。

测试

pip install -e ".[test]"

# Unit tests (no network)
pytest tests/test_client_unit.py tests/test_server_unit.py tests/test_cli_unit.py -v

# Integration tests (hits real ALBS API, read-only, 21 tests)
pytest tests/test_integration.py -v

# All tests
pytest -v

环境变量

变量描述默认值
ALBS_JWT_TOKEN用于身份验证操作的JWT令牌--
ALBS_LOG_DIR下载日志目录/tmp/albs-logs

目录标签

目录标签

Python命令行工具日志分析构建系统本地部署AI集成包签名

接入字段

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

stdio

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

token

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP