Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CML_URLYesThe URL of the CML controller, e.g. https://cml.example.net/
CML_PASSWORDYesPassword for CML authentication
CML_USERNAMEYesUsername for CML authentication
CML_CACHE_DIRNoDirectory for token and OpenAPI cache (default: ~/.cache/cml/)~/.cache/cml/
CML_VERIFY_SSLNoWhether to verify TLS certificates (default: off, as CML often uses self-signed certs). Set to 'true' to enable.false

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
cml_openapiA

Return CML2's live OpenAPI spec as a JSON string.

Cached at $CML_CACHE_DIR/openapi.json (default ~/.cache/cml/) for 24h. Set refresh=True to force a re-fetch.

cml_apiA

Authenticated CML2 REST call.

Args: method: HTTP method (GET/POST/PUT/PATCH/DELETE). path: Path AFTER /api/v0, must start with '/'. Example: '/labs'. body: Optional JSON-serializable value (object/array/string/etc.). Sent as the request body with Content-Type: application/json.

Returns the raw response body as text (callers should json.parse if needed). Re-authenticates and retries once on HTTP 401. Raises on non-2xx.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
openapi_resourceThe live (24h-cached) OpenAPI spec, exposed as an MCP resource.

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: cml_api makes arbitrary REST calls to the CML2 API, while cml_openapi fetches the OpenAPI specification. There is no overlap in functionality.

Naming Consistency5/5

Both tools use the consistent prefix 'cml_' followed by a descriptive snake_case name ('api' and 'openapi'), following a clear pattern.

Tool Count2/5

With only two tools, the server is extremely minimal for what appears to be a full API wrapper. Most use cases would require the user to manually parse the OpenAPI spec and craft REST calls, making the tool set feel incomplete.

Completeness2/5

The server provides only a low-level API call tool and a spec fetcher, lacking any higher-level operations (e.g., CRUD for labs, devices, etc.). Users must implement all logic themselves, which is a significant gap for a CML2 integration.

Maintenance

ActivityInactive
ResponsivenessNo issues