Skip to main content
Glama
galkremer1
by galkremer1

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JENKINS_USERYesJenkins username (short username, not email).
GLPI_BASE_URLYesBase URL of the GLPI instance, with or without /apirest.php.
GLPI_APP_TOKENNoOptional GLPI application token, only if the instance requires it.
GLPI_USER_TOKENYesPersonal API token for GLPI.
JENKINS_BASE_URLYesRoot URL of the Jenkins instance.
JENKINS_API_TOKENYesJenkins API token.
NODE_EXTRA_CA_CERTSNoPath to an internal CA bundle, needed if Node.js fetch fails due to TLS certificates.

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_reservable_itemsB

Search GLPI for reservable assets (default itemtype Peripheral). Returns id, name, comment/capability text, and linked ReservationItem id.

check_availabilityA

Fetch the full reservation list for one ReservationItem (paginated correctly) and compute free gaps / the first slot of duration_minutes.

find_available_clusterA

Find reservable clusters matching requirements and rank them by earliest free slot of duration_minutes. Proposes slots only — does not book.

reserve_clusterA

Create a GLPI reservation. Always sets users_id from the authenticated session. Re-validates for conflicts immediately before booking.

cancel_reservationB

Delete/release a GLPI reservation by id.

trigger_jenkins_jobA

Trigger a Jenkins job with parameters. If start_at is in the future, passes delay=NNNsec so the build does not start immediately.

get_build_statusB

Poll Jenkins queue/build state. Returns building/result and a console-log tail.

abort_buildA

Stop a running or queued Jenkins build (job/{name}/{build}/stop).

get_cluster_infoA

Return non-sensitive cluster metadata from a deploy job *-data.zip (deploydata.json, metadata.json, console/API URLs). Does not read kubeconfig or kubeadmin-password.

get_cluster_kubeconfigA

Extract auth/kubeconfig and auth/kubeadmin-password from a deploy job *-data.zip in memory. Returns cluster-admin credentials — do not echo them back in chat.

import_spoke_clusterA

Import a spoke into an ACM hub: create ManagedCluster + KlusterletAddonConfig, fetch the generated import Secret, apply manifests to the spoke, poll until Joined/Available.

get_managed_cluster_statusB

Read ManagedCluster join/available conditions from the hub.

list_scenariosA

List built-in end-to-end scenario presets (id, name, description, overridable fields).

plan_scenarioA

Resolve a scenario into a concrete unbooked plan (candidate clusters, windows, Jenkins parameters). Books and triggers nothing.

execute_scenarioA

Execute a plan from plan_scenario: reserve each role, trigger Jenkins jobs (delayed if start is in the future). ACM import runs only if wait_timeout_seconds is set and builds complete.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation4/5

Most tools have distinct resource-action targets, but a few boundaries could be sharper: check_availability and find_available_cluster both deal with availability, and get_cluster_info vs. get_cluster_kubeconfig both extract from the same deploy artifact. Descriptions clarify the difference well enough that an agent can usually choose correctly.

Naming Consistency5/5

All 15 tool names follow a consistent snake_case verb_noun convention (list, check, find, reserve, cancel, trigger, get, abort, import, plan, execute). There are no camelCase names, vague single verbs, or arbitrary suffixes.

Tool Count5/5

Fifteen tools is at the upper end of the ideal range but appropriate for the server's scope: reservation management, Jenkins build control, cluster artifact access, ACM import/monitoring, and scenario orchestration. Each tool covers a distinct step and no tool feels redundant.

Completeness3/5

The core path from finding/reserving assets, triggering and monitoring builds, extracting cluster credentials, and importing a spoke into ACM is covered. However, the lifecycle lacks cleanup operations (e.g., deleting/detaching a ManagedCluster, removing an imported spoke) and there is no dedicated way to list or look up existing reservations before canceling.

Maintenance

ActivityMaintained
ResponsivenessNo issues