Skip to main content
Glama

rhoso-accel-mcp

A single MCP server that lets AI agents drive the full RHOSO-to-GPU-validated-VM bring-up end to end

Wraps rhos-vaf/dev-tools — its make targets are exposed as MCP tools — following the Red Hat template-mcp-server conventions.

Tools

Read/safe (auto-run):

Tool

Wraps

devtools_show_config

make show_config

devtools_validate_config

make validate_config

devtools_show_kubeconfig

make show_kubeconfig

Write/destructive (require confirm=True):

Tool

Wraps

devtools_deploy_sno

make deploy_sno

devtools_install_lvm_operator

make install_lvm_operator

devtools_configure_lvm_cluster

make configure_lvm_cluster

devtools_install_gitops_operator

make install_gitops_operator

devtools_enable_argocd

make enable_argocd

devtools_configure_openshift_gitops

make configure_openshift_gitops

devtools_deploy_openstack_dependencies

make deploy_openstack_dependencies

devtools_deploy_openstack_operator

make deploy_openstack_operator

devtools_deploy_openstack_operator_cr

make deploy_openstack_operator_cr

devtools_deploy_eso_secrets_operator

make deploy_eso_secrets_operator

devtools_deploy_vault_secrets_operator

make deploy_vault_secrets_operator

devtools_configure_eso_authentication

make configure_eso_authentication

devtools_configure_vault_authentication

make configure_vault_authentication

Every tool returns {"status", "command", "stdout", "stderr", "exit_code"} and never raises.

Related MCP server: mcp-makefile-server

Configuration

DEVTOOLS_DIR (in .env) points at your dev-tools checkout. If left empty, the server auto-clones rhos-vaf/dev-tools into DEVTOOLS_CLONE_DIR (/tmp/dev-tools) on first use and refreshes it (git remote update && git checkout origin/main) on later runs — so read-only tools work with zero config. For real deploys, set DEVTOOLS_DIR to your own checkout containing configs/sno.local.sh; the auto-clone has no config, so destructive tools will fail validate_config until one is provided.

Run

cp .env.example .env      # optionally set DEVTOOLS_DIR
make install              # uv venv + deps
make test                 # unit tests (no real make execution)
make local                # run over stdio (local agent)
# make http               # run over HTTP (remote/CI agent)

Register with an MCP client, e.g. Claude CLI over stdio:

claude mcp add rhoso-accel --scope user -- uv run --directory /path/to/rhoso-accel-mcp rhoso-accel-mcp

Or over HTTP:

make http   # serves on http://127.0.0.1:5001
claude mcp add --transport http rhoso-accel http://localhost:5001/mcp --scope user

Available Tools

16 tools
devtools_configure_eso_authenticationA

Configure the ESO SecretStore with Vault AppRole authentication (recommended).

TOOL_NAME=devtools_configure_eso_authentication DISPLAY_NAME=Configure ESO Authentication USECASE=Wire ESO to Vault via AppRole. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_configure_eso_authentication(confirm=True) PREREQUISITES=OPENSTACK_NAMESPACE set; ESO deployed RELATED_TOOLS=devtools_deploy_eso_secrets_operator

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden and does so by saying 'Modifies the cluster' and requiring confirm=true via INPUT_DESCRIPTION. It stops short of describing reversibility or permission requirements, but the mutation and confirmation guard are meaningfully disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded, and uses labeled fields that are easy to parse. The only mild redundancy is TOOL_NAME and DISPLAY_NAME restating context already known from the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

It includes prerequisites, an example, a related tool, and output description (status, stdout, stderr, exit_code), so an agent has enough to call it correctly. The sequencing relative to Vault authentication is implicit rather than explicit, but the metadata block is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but INPUT_DESCRIPTION fully compensates by explaining confirm (bool) — must be true, which adds critical meaning beyond the raw schema default false. The description makes parameter intent unambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with 'Configure the ESO SecretStore with Vault AppRole authentication (recommended)', a specific verb, exact resource, and auth mechanism. The USECASE line adds 'Modifies the cluster,' and targeting the ESO SecretStore distinctly separates this tool from the sibling devtools_configure_vault_authentication.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

PREREQUISITES=OPENSTACK_NAMESPACE set; ESO deployed tells the agent when it is valid to run, and RELATED_TOOLS points to the deployment dependency. It gives clear context for use, though it does not explicitly state when to choose this tool over devtools_configure_vault_authentication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_configure_lvm_clusterA

Configure the LVMCluster device class.

TOOL_NAME=devtools_configure_lvm_cluster DISPLAY_NAME=Configure LVMCluster USECASE=Register storage devices with the LVM operator. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_configure_lvm_cluster(confirm=True) PREREQUISITES=SNO_LVM_DEVICES set; LVM operator installed RELATED_TOOLS=devtools_install_lvm_operator

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full behavioral burden. It explicitly states 'Modifies the cluster,' requires the confirm parameter to be true, and lists status, stdout, stderr, and exit_code as outputs. It could detail side effects or reversibility more, but it is adequately transparent for a configuration action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is one concise sentence, and the auxiliary details are organized into labeled metadata lines that are easy to scan. Minor redundancy exists in TOOL_NAME and DISPLAY_NAME lines duplicating the tool name, but the overall structure remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool, the description covers purpose, usecase, prerequisites, related tool, input semantics, expected output shape, and an example. With a dedicated output schema present and no nested objects, nothing critical is missing for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a single confirm boolean with no property description, but the description compensates with 'INPUT_DESCRIPTION=confirm (bool) — must be true' and an example showing confirm=True. This fully clarifies the parameter's required value and bridges the gap left by the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Configure the LVMCluster device class' and the USECASE explicitly says 'Register storage devices with the LVM operator. Modifies the cluster.' This clearly identifies the action and resource, distinguishing it from sibling tools like devtools_install_lvm_operator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides PREREQUISITES (SNO_LVM_DEVICES set and LVM operator installed) and RELATED_TOOLS pointing to devtools_install_lvm_operator, establishing when this tool should be used. It does not explicitly list exclusions or alternative conditions, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_configure_openshift_gitopsA

Configure ArgoCD with cluster-wide permissions and TLS.

TOOL_NAME=devtools_configure_openshift_gitops DISPLAY_NAME=Configure OpenShift GitOps USECASE=Grant ArgoCD the permissions/TLS RHOSO needs. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_configure_openshift_gitops(confirm=True) PREREQUISITES=ArgoCD instance enabled RELATED_TOOLS=devtools_enable_argocd

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Modifies the cluster' and requires confirm=true, which are important. However, it doesn't elaborate on the nature of the cluster modifications, potential risks, or whether the operation is reversible, leaving some ambiguity for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is clear and front-loaded, but the description includes redundant metadata lines like TOOL_NAME and DISPLAY_NAME that duplicate the provided name. The KEY=VALUE structure is readable, but not every line earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and an output schema, the description covers the use case, prerequisite, parameter semantics, example, and output fields. It could be more complete about the exact cluster-level changes, but it is adequate for an agent to understand the tool's role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 0% schema coverage, the description compensates with explicit parameter guidance: 'confirm (bool) — must be true' and an example call with confirm=True. This adds meaning beyond the bare schema default of false, though it doesn't describe what happens if confirm is false.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb and resource: 'Configure ArgoCD with cluster-wide permissions and TLS.' It also adds the USECASE 'Grant ArgoCD the permissions/TLS RHOSO needs,' which clearly differentiates this from sibling tools like devtools_enable_argocd or devtools_install_gitops_operator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a prerequisite ('ArgoCD instance enabled') and names a related tool (devtools_enable_argocd), making it clear this is meant to be used after ArgoCD is enabled. It does not explicitly state when not to use it, but the context is sufficient for correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_configure_vault_authenticationA

Configure Vault AppRole authentication.

TOOL_NAME=devtools_configure_vault_authentication DISPLAY_NAME=Configure Vault Authentication USECASE=Set up Vault AppRole auth for the deployment. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_configure_vault_authentication(confirm=True) PREREQUISITES=OPENSTACK_NAMESPACE set; Vault Secrets Operator deployed RELATED_TOOLS=devtools_deploy_vault_secrets_operator

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral transparency burden. It does state 'Modifies the cluster' and requires 'confirm' to be true, which are important safety signals. However, it does not explain idempotence, reversibility, or what happens if 'confirm' is false, leaving a clear behavioral gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably compact and front-loaded with the use case and input rule. However, it includes redundant TOOL_NAME and DISPLAY_NAME lines that simply restate the tool identity, so not every field earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter configuration tool, it provides prerequisites, an example, output fields, and a related tool. An output schema exists, so the missing return-details are not a major gap. The main omission is a clear definition of the behavior/error when confirm is false.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and merely shows a boolean with default false. The description compensates by stating 'confirm (bool) — must be true' and giving a concrete example call, which tells the agent it must explicitly set confirm=True. It could be slightly more explicit about the semantics of false, but the key usage is covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Configure Vault AppRole authentication' and 'Set up Vault AppRole auth for the deployment.' This is specific and distinct from sibling deployment tools, and the related-tool field reinforces its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The PREREQUISITES field gives actionable context: OPENSTACK_NAMESPACE must be set and the Vault Secrets Operator must already be deployed. RELATED_TOOLS points to the deployment sibling, so sequencing is inferable. It lacks an explicit when-not-to-use or alternative-selection statement, so it doesn't reach a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_deploy_eso_secrets_operatorA

Deploy the External Secrets Operator (recommended secrets backend).

TOOL_NAME=devtools_deploy_eso_secrets_operator DISPLAY_NAME=Deploy External Secrets Operator USECASE=Install ESO to sync secrets from Vault. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_eso_secrets_operator(confirm=True) PREREQUISITES=cluster reachable RELATED_TOOLS=devtools_configure_eso_authentication

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description correctly carries the safety burden by stating 'Modifies the cluster.' It also sets a confirmation requirement ('confirm (bool) — must be true'), which is important behavioral guardrail information, and lists output fields. It does not detail irreversibility or side effects, but the cluster-modification warning is the critical disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the main purpose, then structured key-value lines provide targeted details. A small amount of redundancy exists (TOOL_NAME repeats the tool name and EXAMPLES repeats INPUT_DESCRIPTION), but overall every major line adds value and the format is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-boolean deploy tool with no annotations, the description covers the use case, cluster-modifying behavior, required input, prerequisite, output, and next-step related tool. It is not missing any essential information needed to invoke it safely; an explicit alternative or non-goal statement would be the only meaningful enhancement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter, confirm, and the schema provides no description (0% coverage). The description explicitly says 'confirm (bool) — must be true' and gives the example call with confirm=True. This fully compensates for the schema gap and removes ambiguity about the required value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Deploy the External Secrets Operator (recommended secrets backend).' The USECASE line further clarifies 'Install ESO to sync secrets from Vault,' which distinguishes it from the sibling Vault Secrets Operator deploy tool. It also names the exact tool and its purpose without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear use case ('Install ESO to sync secrets from Vault'), marks the tool as the 'recommended secrets backend,' and lists a related tool for the next step (configure_eso_authentication). It does not explicitly mention when not to use it or name alternatives, but the context is enough for an agent to select it correctly in most scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_deploy_openstack_dependenciesA

Deploy OpenStack dependencies (Cert-manager, MetalLB, NMState).

TOOL_NAME=devtools_deploy_openstack_dependencies DISPLAY_NAME=Deploy OpenStack Dependencies USECASE=Install the operators RHOSO depends on. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_openstack_dependencies(confirm=True) PREREQUISITES=cluster reachable RELATED_TOOLS=devtools_deploy_openstack_operator

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It states 'Modifies the cluster' and that confirm 'must be true', which identifies the mutating nature and a guard. It does not detail idempotency, failure behavior, or what happens if confirm is false, but the core side effect is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loads the main action before structured metadata lines. Some redundancy exists between the first sentence and USECASE, but overall each line adds useful information without unnecessary prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter, an output schema, and no annotations, the description provides substantial context: purpose, side effects, required input, output fields, an example, prerequisites, and a related tool. It lacks only explicit decision guidance and failure semantics, but is otherwise complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explicitly says 'confirm (bool) — must be true', which conveys the required value and that it acts as a confirmation gate, going beyond the bare schema's type and default. It does not explain the consequence of false, but the requirement is clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Deploy') and resource ('OpenStack dependencies'), enumerates the exact components (Cert-manager, MetalLB, NMState), and further clarifies the use case as 'Install the operators RHOSO depends on.' This clearly distinguishes it from sibling tools like devtools_deploy_openstack_operator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'Install the operators RHOSO depends on' and lists RELATED_TOOLS=devtools_deploy_openstack_operator, suggesting a sequence. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_deploy_openstack_operatorA

Deploy the OpenStack operator.

TOOL_NAME=devtools_deploy_openstack_operator DISPLAY_NAME=Deploy OpenStack Operator USECASE=Install the RHOSO OpenStack operator. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_openstack_operator(confirm=True) PREREQUISITES=OpenStack dependencies deployed RELATED_TOOLS=devtools_deploy_openstack_operator_cr

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the transparency burden. It explicitly warns that the operation 'Modifies the cluster' and that confirm must be true, which are meaningful behavioral disclosures for a deploying/mutating tool. It doesn't discuss permissions, reversibility, or precise cluster resources affected, but it is not silent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core usecase and side-effect before the structured fields. There is some redundancy among TOOL_NAME, DISPLAY_NAME, and the opening sentence, but each field earns its place overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter deployment tool, the definition covers the usecase, prerequisite, required confirmation value, example invocation, output fields, and related tool. It doesn't elaborate on output semantics or failure modes, but the provided OUTPUT_DESCRIPTION and example are sufficient for basic correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only defines confirm as a boolean with default false; the description compensates by stating 'confirm (bool) — must be true' and providing a concrete example with confirm=True. This resolves the default-value ambiguity and is essential for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The USECASE line clearly states 'Install the RHOSO OpenStack operator' and notes it 'Modifies the cluster,' giving a specific verb, resource, and side-effect. It doesn't explicitly contrast itself with the related devtools_deploy_openstack_operator_cr tool, so it misses the strongest sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear context for use: the USECASE says when to install the OpenStack operator, and PREREQUISITES says 'OpenStack dependencies deployed' must already be true. It doesn't state when not to use it or name alternatives beyond RELATED_TOOLS, so it lacks explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_deploy_openstack_operator_crA

Deploy the OpenStack operator CR to bootstrap services.

TOOL_NAME=devtools_deploy_openstack_operator_cr DISPLAY_NAME=Deploy OpenStack Operator CR USECASE=Bootstrap the RHOSO services via the operator CR. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_openstack_operator_cr(confirm=True) PREREQUISITES=OpenStack operator deployed RELATED_TOOLS=devtools_deploy_openstack_operator

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It does disclose that the operation 'modifies the cluster' and that confirm must be true, which is important safety context. However, it does not explain the broader side effects of bootstrapping services, reversibility, or consequences beyond cluster modification.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured and the main purpose is front-loaded, but it contains redundancy: the first sentence says 'bootstrap services' and USECASE repeats 'Bootstrap the RHOSO services'. TOOL_NAME and DISPLAY_NAME also duplicate the tool name/title. It is understandable but not maximally lean.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool, the description covers the essential invocation signals: purpose, prerequisite, confirmation requirement, output fields, and related tool. It is sufficiently complete for an agent to select and call the tool correctly, though it could clarify exactly what the CR deployment will create or change in the cluster.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%—the only parameter 'confirm' has no schema description. The description compensates well by stating 'confirm (bool) — must be true' and providing an example call with confirm=True, which tells the agent the key constraint and expected usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Deploy the OpenStack operator CR to bootstrap services.' It identifies the specific resource (operator CR) and purpose (bootstrap RHOSO services). It is distinguishable from the sibling devtools_deploy_openstack_operator by the 'CR' scope, though it does not explicitly contrast the two.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: use this to bootstrap RHOSO services via the operator CR, and lists a prerequisite ('OpenStack operator deployed'). It also names a related tool, devtools_deploy_openstack_operator, which helps an agent understand sequencing. However, it does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_deploy_snoA

Deploy Single Node OpenShift via dev-tools make deploy_sno.

TOOL_NAME=devtools_deploy_sno DISPLAY_NAME=Deploy Single Node OpenShift USECASE=Provision the SNO cluster RHOSO installs on. DESTRUCTIVE (bare metal). INSTRUCTIONS=1) Ensure configs/sno.local.sh is set. 2) Call with confirm=true. INPUT_DESCRIPTION=confirm (bool) — must be true; guards against accidental provisioning OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_sno(confirm=True) PREREQUISITES=Valid BMC creds + configs/sno.local.sh RELATED_TOOLS=devtools_validate_config, devtools_show_kubeconfig

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden and does well by flagging 'DESTRUCTIVE (bare metal)' and explaining that confirm=true guards against accidental provisioning. It could go further by spelling out the exact destructive effects on the bare-metal host, but the core risk is clearly disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly compact and front-loaded with the purpose, followed by structured metadata lines that each carry useful information. Minor redundancy exists (TOOL_NAME, DISPLAY_NAME, and the tool name in the first sentence), but it does not impair readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition includes use case, prerequisites, exact call instructions, input semantics, output fields, an example, and related tools. For a one-parameter tool with an existing output schema and no annotations, this is more than enough for an agent to select and invoke it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must define the single parameter. It does: 'confirm (bool) — must be true; guards against accidental provisioning', plus instruction 'Call with confirm=true'. This is essential semantic information beyond the plain boolean schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Deploy Single Node OpenShift via dev-tools make deploy_sno', naming a specific verb, resource, and mechanism. The USECASE line further clarifies that this provisions the SNO cluster RHOSO installs on, distinguishing it from the many OpenShift-related sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

USECASE gives clear context for when this tool is appropriate: provisioning the SNO cluster for RHOSO. INSTRUCTIONS and PREREQUISITES provide practical call conditions, though it does not explicitly contrast against alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_deploy_vault_secrets_operatorA

Deploy the Vault Secrets Operator.

TOOL_NAME=devtools_deploy_vault_secrets_operator DISPLAY_NAME=Deploy Vault Secrets Operator USECASE=Install the Vault Secrets Operator. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_vault_secrets_operator(confirm=True) PREREQUISITES=cluster reachable RELATED_TOOLS=devtools_configure_vault_authentication

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral disclosure burden. It explicitly states 'Modifies the cluster' and requires 'confirm (bool) — must be true', which signals a mutating operation that needs consent. It does not detail permissions, idempotence, or reversibility, but covers the most critical side-effect and safety guard.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core action, then presents parameter, output, examples, prerequisites, and related tools in a scannable key-value format. There is some redundancy with TOOL_NAME/DISPLAY_NAME and the opening sentence repeating the use case, but no wasted prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter deployment tool, the description covers the input requirement, output fields, prerequisites, example invocation, related tool, and the fact that it modifies the cluster. With an output schema present and no nested parameters, this is nearly complete; the main omission is explicit permission or irreversibility context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only provides 'boolean' with a default of false and no description, while the tool description says 'confirm (bool) — must be true' and gives an example call with confirm=True. This fully compensates for the 0% schema description coverage because it makes the single parameter's required value and intent unmistakable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific verb 'Deploy' and resource 'Vault Secrets Operator', and adds the important side-effect 'Modifies the cluster.' It is clear and unambiguous, though it does not explicitly contrast itself with sibling install/deploy tools other than by resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides prerequisites ('cluster reachable') and names a related next-step tool ('devtools_configure_vault_authentication'), giving useful context for when to use it. It does not explicitly list when-not-to-use conditions or compare against alternatives, but the use case is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_enable_argocdA

Enable an ArgoCD instance with OpenStack health checks.

TOOL_NAME=devtools_enable_argocd DISPLAY_NAME=Enable ArgoCD Instance USECASE=Stand up the ArgoCD instance. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_enable_argocd(confirm=True) PREREQUISITES=GitOps operator installed RELATED_TOOLS=devtools_install_gitops_operator, devtools_configure_openshift_gitops

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full behavioral burden. It discloses that this tool modifies the cluster and that confirm must be true, which are important guardrails. However, it does not describe reversibility, permissions, idempotency, or what specifically changes in the cluster beyond 'stand up.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then organized into labeled metadata fields. There is some redundancy in repeated tool/display names, but the structure is scannable and each field adds practical context: use case, input, output, examples, prerequisites, and related tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one boolean parameter, no annotations, and an output schema, the description covers the prerequisites, the confirmation requirement, examples, and related tools. It is sufficiently complete, with the main gap being more explicit side-effect details, which are already partially covered by the 'modifies the cluster' note.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only provides a boolean with default false and no description, while the description adds 'confirm (bool) — must be true.' This is valuable beyond the schema because it tells the agent not to rely on the default and to set the flag for the operation to proceed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete action—enable/stand up an ArgoCD instance—and adds a distinguishing detail: 'with OpenStack health checks.' This separates it from siblings like install_gitops_operator and configure_openshift_gitops, which target different resources or phases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The metadata gives a clear prerequisite ('GitOps operator installed') and lists related tools that represent the surrounding workflow. It does not explicitly say 'use this only after installing the operator and not for configuration,' but the relationships and prerequisite are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_install_gitops_operatorA

Install the OpenShift GitOps (ArgoCD) operator.

TOOL_NAME=devtools_install_gitops_operator DISPLAY_NAME=Install OpenShift GitOps Operator USECASE=Install ArgoCD used to deploy RHOSO via GitOps. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_install_gitops_operator(confirm=True) PREREQUISITES=cluster reachable RELATED_TOOLS=devtools_enable_argocd, devtools_configure_openshift_gitops

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It does state 'Modifies the cluster' and lists outputs (status, stdout, stderr, exit_code), which are valuable. However, it does not mention idempotency, required permissions, side effects on existing ArgoCD installs, or whether the tool waits for readiness. The mutating nature is disclosed, but significant behaviors remain implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a concise first sentence followed by structured key-value metadata. Every line has a purpose: display, usecase, input, output, example, prerequisite, related tools. There is mild redundancy between DISPLAY_NAME and the opening sentence, but the overall structure is efficient and the core purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional boolean parameter) and the presence of an output schema, the description covers the essential context: what is installed, why, the confirm requirement, prerequisites, example usage, and related tools. Missing details like target namespace or behavior when the operator already exists are minor and do not prevent correct selection/invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one boolean param with 0% description coverage, so the description must compensate. The INPUT_DESCRIPTION line does exactly that: 'confirm (bool) — must be true.' This adds critical semantic meaning beyond the schema by telling the agent the operation will not proceed without confirmation. It stops short of explaining what happens if false or why confirmation is required, but for a single-param tool this is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Install the OpenShift GitOps (ArgoCD) operator.' The USECASE line adds context ('Install ArgoCD used to deploy RHOSO via GitOps'), and the RELATED_TOOLS list separates it from sibling configuration/enable steps. An agent can clearly identify this as the operator-installation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The USECASE and PREREQUISITES lines give clear context: use when installing ArgoCD for RHOSO deployment, and ensure the cluster is reachable. RELATED_TOOLS names the alternatives, but it does not explicitly state 'use this instead of devtools_enable_argocd when...' or provide exclusions. This is clear context without full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_install_lvm_operatorA

Install the LVM Storage Operator on the cluster.

TOOL_NAME=devtools_install_lvm_operator DISPLAY_NAME=Install LVM Storage Operator USECASE=Provide local storage for RHOSO. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_install_lvm_operator(confirm=True) PREREQUISITES=SNO_OPENSHIFT_VERSION set; cluster reachable RELATED_TOOLS=devtools_configure_lvm_cluster

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description says directly that this 'Modifies the cluster' and requires confirm=true, which signals both the safety-critical nature and the confirmation mechanism. It also lists output fields and prerequisites. It does not cover auth requirements or reversibility, but it is genuinely transparent for an install/configuration across a cluster.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is concise and front-loaded. The trailing metadata block is somewhat repetitive (TOOL_NAME and DISPLAY_NAME restate known context), but the other fields carry useful, non-redundant information such as prerequisites, examples, usecase, and related tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema, the description covers purpose, use case, prerequisites, example, output fields, and related tool. It does not state cluster-admin/auth requirements explicitly, but the confirmation flag and cluster-reachability prerequisite already provide meaningful guardrails.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines confirm as a boolean with default false and no property description, so the description has to supply the semantics. INPUT_DESCRIPTION says 'confirm (bool) — must be true' and the example shows confirm=True, giving the agent the exact required invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and target: 'Install the LVM Storage Operator on the cluster.' The USECASE adds context ('Provide local storage for RHOSO') and RELATED_TOOLS names the downstream configuration tool, which helps distinguish it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear when-to-use context via USECASE and prerequisites ('SNO_OPENSHIFT_VERSION set; cluster reachable'). It names RELATED_TOOLS=devtools_configure_lvm_cluster but does not explicitly say when not to use it or describe all alternatives, so it stops just short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_show_configA

Display the current dev-tools deployment configuration.

TOOL_NAME=devtools_show_config DISPLAY_NAME=Show dev-tools Config USECASE=Inspect the effective SNO/RHOSO configuration before deploying. INSTRUCTIONS=Call with no arguments. INPUT_DESCRIPTION=none OUTPUT_DESCRIPTION=status, stdout (config dump), stderr, exit_code EXAMPLES=devtools_show_config() PREREQUISITES=configs/sno.local.sh present (optional) RELATED_TOOLS=devtools_validate_config

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of explaining behavior. It discloses the output shape (status, stdout config dump, stderr, exit_code) and an optional prerequisite. The verb 'Display' and use-case word 'Inspect' also imply a non-mutating operation, though it does not explicitly state 'read-only' or 'no side effects.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description front-loads the main purpose in one clear sentence, but then repeats known metadata such as TOOL_NAME and DISPLAY_NAME. The additional USECASE, OUTPUT_DESCRIPTION, PREREQUISITES, and RELATED_TOOLS fields are useful, so the structure is reasonable overall despite some redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-argument configuration display tool, this description covers purpose, use case, invocation, output, prerequisites, and a related tool. An agent has enough context to decide when to call it and what to expect from the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema already covers this fully with an empty properties object. The description reinforces this with 'Call with no arguments' and 'INPUT_DESCRIPTION=none,' which is sufficient for an agent to invoke it correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Display the current dev-tools deployment configuration.' The USECASE further clarifies it is for inspecting the effective SNO/RHOSO configuration before deploying. It does not explicitly contrast itself with sibling tools, but the resource and action are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The USECASE field gives clear situational guidance: inspect the effective SNO/RHOSO configuration before deploying. INSTRUCTIONS explicitly says to call with no arguments, and PREREQUISITES notes an optional config file. It does not explain when to prefer a sibling tool, which keeps it from a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_show_kubeconfigA

Show the kubeconfig location and access instructions for the SNO cluster.

TOOL_NAME=devtools_show_kubeconfig DISPLAY_NAME=Show Kubeconfig USECASE=Find how to reach the cluster after deploy_sno completes. INSTRUCTIONS=Call after deploy_sno. INPUT_DESCRIPTION=none OUTPUT_DESCRIPTION=status, stdout (kubeconfig path/instructions), stderr, exit_code EXAMPLES=devtools_show_kubeconfig() PREREQUISITES=deploy_sno has run RELATED_TOOLS=devtools_deploy_sno

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the disclosure burden and it delivers: 'Show' signals a non-mutating operation, and the OUTPUT_DESCRIPTION explicitly details status, stdout with the kubeconfig path/instructions, stderr, and exit_code. It also notes the prerequisite state, so an agent knows what to expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is a front-loaded summary, and the structured metadata (USECASE, INSTRUCTIONS, OUTPUT_DESCRIPTION, PREREQUISITES) is compact and useful. There is minor redundancy with TOOL_NAME and DISPLAY_NAME repeating the title, but the overall block remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter informational tool, the description is complete: it covers what the tool does, when to use it, prerequisites, output shape, and a related tool. The presence of an output schema further covers return value structure, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters and the schema is empty, so the baseline is 4. The description reinforces this with 'INPUT_DESCRIPTION=none' and the example call devtools_show_kubeconfig(), leaving no ambiguity about invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific action ('Show') and resource ('kubeconfig location and access instructions') scoped to the SNO cluster, which clearly separates it from sibling tools such as devtools_show_config. The purpose is immediately understandable and not a tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to call this tool: 'Call after deploy_sno' and lists the prerequisite 'deploy_sno has run.' It does not explicitly name alternative tools or when-not conditions, but the temporal constraint gives clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devtools_validate_configA

Validate the dev-tools configuration before deployment.

TOOL_NAME=devtools_validate_config DISPLAY_NAME=Validate dev-tools Config USECASE=Confirm required SNO_* variables and BMC credentials are set. INSTRUCTIONS=Call with no arguments; fix any reported missing variables. INPUT_DESCRIPTION=none OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_validate_config() PREREQUISITES=SNO_BMC_HOST, SNO_NODE_MAC set (via configs/sno.local.sh) RELATED_TOOLS=devtools_show_config, devtools_deploy_sno

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well: it discloses the output shape ('status, stdout, stderr, exit_code'), confirms the tool takes no arguments, and implies the tool only reports missing variables rather than fixing them. It stops short of explicitly stating read-only behavior, but 'validate' strongly implies no mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized as a compact metadata block and front-loads the core purpose. Some redundancy exists (TOOL_NAME and DISPLAY_NAME restate the obvious), but no unnecessary prose inflates it and every field contributes usable operational guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-argument validation tool, the description covers the use case, invocation, prerequisites, expected output, an example, and related tools. The presence of an output schema further covers return-value details, so nothing critical is missing for an agent to select and call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and the description explicitly reinforces this with 'Call with no arguments' and 'INPUT_DESCRIPTION=none.' This fully resolves any ambiguity an agent might have about invocation, exceeding the baseline for a no-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Validate the dev-tools configuration before deployment.' It further specifies the exact purpose with 'Confirm required SNO_* variables and BMC credentials are set,' which clearly distinguishes validation from sibling tools like devtools_show_config or devtools_deploy_sno.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit usage instructions: 'Call with no arguments; fix any reported missing variables.' It also lists relevant prerequisites (SNO_BMC_HOST, SNO_NODE_MAC via configs/sno.local.sh) and related tools. However, it does not explicitly state when not to use this tool or contrast it directly with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updatesv0.1.0
    • First observeddevtools_configure_eso_authentication
    • First observeddevtools_configure_lvm_cluster
    • First observeddevtools_configure_openshift_gitops
    • First observeddevtools_configure_vault_authentication
    • First observeddevtools_deploy_eso_secrets_operator
    • First observeddevtools_deploy_openstack_dependencies
    • First observeddevtools_deploy_openstack_operator
    • First observeddevtools_deploy_openstack_operator_cr
    • First observeddevtools_deploy_sno
    • First observeddevtools_deploy_vault_secrets_operator
    • First observeddevtools_enable_argocd
    • First observeddevtools_install_gitops_operator
    • First observeddevtools_install_lvm_operator
    • First observeddevtools_show_config
    • First observeddevtools_show_kubeconfig
    • First observeddevtools_validate_config

TDQS

A4.1/5.0

Scored across 16 tools

Disambiguation5/5

Each tool maps to a distinct deployment stage or resource: config inspection/validation, SNO provisioning, LVM, GitOps/ArgoCD, OpenStack operators, and secrets backends. Even closely related tools like install_gitops_operator, enable_argocd, and configure_openshift_gitops have clear boundaries through their descriptions.

Naming Consistency4/5

Names consistently follow a devtools_<verb>_<target> snake_case pattern, but there are minor deviations: operator installation uses both 'install' and 'deploy' (install_lvm_operator vs deploy_openstack_operator), and enable_argocd is slightly different in style. Overall the set is still predictable and readable.

Tool Count4/5

At 16 tools, the set is slightly over the ideal 3-15 range but each tool corresponds to a discrete deployment step in a multi-stage RHOSO provisioning workflow. The count feels justified rather than bloated.

Completeness4/5

The tool surface covers the core deployment lifecycle well: config validation, SNO provisioning, storage, GitOps, OpenStack operators, and secrets backends. Notable gaps include no teardown/rollback tools and no final deployment status verification beyond kubeconfig display, but agents can complete the primary workflow.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers