albs-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ALBS_LOG_DIR | No | Directory for downloaded logs | /tmp/albs-logs |
| ALBS_JWT_TOKEN | No | JWT token for authenticated operations |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_platformsA | Get all available platforms and their supported architectures from ALBS. Returns the list of platforms with arch_list fetched dynamically from the build system. |
| get_build_infoA | Get build details: tasks, statuses, packages, architectures. Returns a summary of the build including each task's status, architecture, package name, and whether it has sign tasks. Also lists any linked builds (their -br repos are mixed into the buildroot), which is needed to accurately reproduce a similar rebuild. |
| get_failed_tasksA | Get failed tasks for a build with their available log files. Shows only tasks that failed, along with log file names. Key logs for debugging: mock_build, mock_stderr, mock_root. |
| download_logA | Download a build log file to local filesystem. The file will be saved to $ALBS_LOG_DIR// (default: /tmp/albs-logs//). After downloading, use read_log_tail to read the contents. |
| search_logA | Find the failure in a build log: grep it and return each hit with context. START HERE when investigating a failed build — do not read tails first.
In a parallel
Only the first |
| read_log_tailA | Read a page of a build log from the end, and page upward from there. Good for how the build terminated ( One call returns as many lines as fit in
|
| read_log_rangeA | Read a specific range of lines from a build log. Use this to widen the window around a line number that search_log
reported, or to inspect an earlier section. Reads forward from
Each line is clipped to |
| list_build_logsC | List all available log files for a build from the server. Shows all log and config files stored in Pulp for this build. |
| search_buildsA | Search builds on ALBS. Returns a page of builds. Each build line carries its task count, failed count, and release state,
then the packages as full NVRs ( Args: page: Page number (default 1). project: Filter by project/package name. is_running: Filter by running status. |
| get_sign_task_statusA | Get the status of sign tasks for a build. Use this after sign_build to check whether signing completed or failed. Returns each sign task's ID, status (idle/in_progress/completed/failed), and sign key ID. No authentication required. |
| get_productsA | List all products on ALBS. No authentication required. Returns each product's id, name, official/community flag, and the platforms it covers. Use this to pick the target product when creating a release plan with create_release_plan. |
| get_release_planA | View an existing release plan. No authentication required. Returns the release status (scheduled/in_progress/completed/failed/ reverted), product, platform, the source packages it covers, and the target repositories. |
| get_sign_keysA | Get available sign keys from ALBS. Requires JWT token. Returns key ID, name, keyid (GPG fingerprint short), and associated platform IDs needed for sign_build. |
| get_flavorsA | List all available platform flavors on ALBS. Returns flavor names and IDs, useful for verifying correct flavor names before creating builds with the flavors parameter. |
| create_buildA | Create a new build on ALBS. Requires JWT token. Platforms and allowed architectures are fetched dynamically from ALBS. Use get_platforms to see available options. For EPEL builds (SRPMs from dl.fedoraproject.org/pub/epel/), the tool automatically applies EPEL-specific flavors and defaults arch to x86_64_v2. Args: platform: Target platform (single). Use get_platforms to see available options. platforms: List of target platforms to build on (e.g. ["AlmaLinux-8", "AlmaLinux-9"]). Can be used alone or combined with platform. At least one must be provided. packages: List of package names (for git/branch) or SRPM URLs (for from_srpm). For from_tag: use "pkg_name tag_name" format or just "tag_name". At least one of packages or git_urls must be provided. git_urls: List of custom Git repository URLs to build from (e.g. ["https://github.com/user/repo.git"]). Use for repos outside git.almalinux.org/rpms. The branch parameter sets the git ref. For from_tag, use "url tag_name" format. Cannot be used with from_srpm. branch: Git branch to build from (e.g. "a8", "c9s"). from_tag: Build from git tags instead of branch. from_srpm: Build from source RPM URLs. tags: Explicit tags for each package when from_tag=True (must match packages length). arch_list: Architectures to build. Default: all for the platform (x86_64_v2 for EPEL builds). skip_tests: Disable %check phase by adding --define "__spec_check_template exit 0;" to mock definitions. add_epel_dist: Extract .elN dist suffix from each package name/URL and set it as a per-task mock definition: dist=".elN.alma_altarch". Only works with from_tag or from_srpm. Recommended for EPEL-altarch builds. beta: Enable beta flavor. secureboot: Enable SecureBoot signing. nosecureboot: Override secureboot requirement for SB packages. excludes: Space-separated packages to exclude from mock. definitions: Dict of mock definitions, e.g. {"dist": ".el9"}. linked_builds: Build IDs to link. flavors: Additional flavor names. with_opts: Mock --with options. without_opts: Mock --without options. modules: Modules to enable, e.g. ["nodejs:18"]. independent_tasks: When True, disables the per-platform sequential task chain so packages build independently / in parallel within each platform (the default ALBS behavior chains task N's start on task N-1's completion). Applied to every platform entry in the payload. Default: False. |
| sign_buildA | Sign a build on ALBS. Requires JWT token. Use get_sign_keys to see available sign key IDs. Args: build_id: The build ID to sign. sign_key_id: Sign key ID (default: 4). Use get_sign_keys to list. |
| create_release_planA | Create a release PLAN on ALBS. Requires JWT token. Creates a "scheduled" release and computes which packages go to which repositories. It NEVER performs the actual release — nothing is published. Committing the plan (the real release) is intentionally not supported here. The completed build tasks are collected automatically; the build must have completed tasks. Platform and product names are validated against ALBS — use get_platforms() and get_products() to see valid names. Args: build_id: The build to release. platform: Target platform name (e.g. "AlmaLinux-9"). product: Target product name (e.g. "AlmaLinux", "epel-al"). Use get_products() to list available products. build_ids: Optional additional build ids to include in the same plan. whole_packages_only: When True, include only packages whose every architecture task completed (drop half-built packages). Use for a PARTIAL build superseded by a 'retry failed' build. Default: False. |
| commit_releaseA | Commit (perform) a release. CURRENTLY BLOCKED. This server only creates release plans. Performing the actual release (publishing packages) is intentionally disabled. |
| delete_buildA | Delete a build. CURRENTLY BLOCKED. This operation is intentionally disabled for safety. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| investigate_build | Seed the build-failure investigation workflow for a build ID. |
| release_plan | Seed the release-plan workflow for a build ID (never releases). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlmaLinux/albs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server