Skip to main content
Glama
sanjaypsachdev

OpenShift MCP Server

OpenShift MCP Server

CI Pipeline CodeQL License: MIT Node.js Version TypeScript OpenShift Kubernetes MCP Test Coverage Tests npm version npm downloads Docker PRs Welcome Maintenance

A Model Context Protocol (MCP) server that provides AI assistants with comprehensive OpenShift/Kubernetes cluster management capabilities through the oc command-line interface.

Demo Video

Watch the oc-new-app tool deploy a complete Spring Boot application from GitHub to OpenShift:

https://github.com/user-attachments/assets/f4bace3f-755b-462f-8a8a-680e4dc02129

Related MCP server: OpenShift MCP Server

Features

  • Cluster Information: Access comprehensive cluster status, nodes and configuration via MCP resources

  • Resource Description: Describe any resource with multiple output formats including human-readable summaries

  • Complete Resource Management: Create, read, update, delete, and patch all OpenShift/Kubernetes resources

  • Application Deployment: Deploy applications from Git repositories with S2I builds and automatic route creation

  • Operator Management: Install operators via OLM, Helm, or direct manifests

  • Cluster Operations: Scaling, monitoring, troubleshooting and management

  • Build Operations: Start and monitor OpenShift builds

  • Scaling Operations: Scale deployments, replicasets and statefulsets

  • Logging: Retrieve logs from pods and builds

  • Multi-Transport Support: STDIO and HTTP/SSE transports for different integration scenarios

  • Comprehensive Testing: 99 unit tests ensuring production reliability

  • Rich Error Handling: Detailed troubleshooting guidance and actionable error messages

  • Troubleshooting Prompts: Interactive troubleshooting guides for common OpenShift scenarios

  • Log Sampling: Sample and analyze pod logs with intelligent pattern detection and context

Prerequisites

  • Node.js 18+

  • OpenShift CLI (oc) installed and configured

  • Access to an OpenShift cluster

Installation

git clone https://github.com/sanjaypsachdev/mcp-server-openshift.git
cd mcp-server-openshift
npm install
npm run build

Configuration

Add to your MCP client configuration:

Claude Desktop / Cursor

{
  "mcpServers": {
    "openshift": {
      "command": "node",
      "args": ["/path/to/mcp-server-openshift/dist/index.js"],
      "env": {
        "OPENSHIFT_CONTEXT": "your-context-name",
        "OPENSHIFT_NAMESPACE": "your-default-namespace"
      }
    }
  }
}

HTTP/SSE Transport (Remote Access)

# Start HTTP server
npm run start:http

# Connect via MCP remote
npx -y mcp-remote http://localhost:3000/sse --transport sse-only

Tools

Authentication & Access

  • oc_login - Securely log into OpenShift clusters using token or username/password authentication

API Discovery & Documentation

  • oc_api_resources - List all available API resources in the cluster with categorization

  • oc_explain - Explain resource schemas, fields, and API documentation

Core Resource Management

  • oc_get - Get OpenShift resources (pods, deployments, services, routes, etc.)

  • oc_create - Create OpenShift resources from manifests or templates

  • oc_apply - Apply YAML manifests with validation and conflict resolution

  • oc_delete - Delete resources with safety checks and confirmation options

  • oc_patch - Patch resources using strategic merge, JSON merge, or JSON patch operations

  • oc_describe - Describe resources with multiple output formats

Application Lifecycle

  • oc_new_app - Deploy applications from Git repositories with S2I builds

  • oc_scale - Scale deployments, deploymentconfigs, replicasets, and statefulsets

  • oc_logs - Get logs from pods, deployments, builds with filtering options

Advanced Operations

  • oc_install_operator - Install operators via OLM, Helm, or direct manifests

Resources

MCP Resources provide read-only access to cluster information:

  • openshift://cluster-info - Comprehensive cluster status, nodes, namespaces, and events

  • openshift://project-list - Detailed project information with quotas and usage statistics

  • openshift://app-templates - Application deployment templates and patterns

Prompts

Interactive troubleshooting and operational guidance:

  • troubleshoot-openshift-prompt - Comprehensive OpenShift troubleshooting guide for all resource types and cluster issues

  • monitoring-prompts - Monitoring and observability guidance for different scenarios

Sampling

Intelligent log analysis and pattern detection:

  • Pod Logs Sampling - Automatic log sampling with error pattern detection and context analysis

Usage Examples

Login to Cluster

# Login with token (recommended)
oc_login with server: "https://api.cluster.example.com:6443",
         authMethod: "token",
         token: "sha256~your-token-here"

# Login with username/password
oc_login with server: "https://api.cluster.example.com:6443",
         authMethod: "password",
         username: "developer",
         password: "your-password"

Discover API Resources

# List all available API resources
oc_api_resources

# List resources for specific API group
oc_api_resources with apiGroup: "apps"

# List only namespaced resources
oc_api_resources with namespaced: true

# Explain a resource schema
oc_explain with resource: "deployment"

# Explain specific field
oc_explain with resource: "pod", field: "spec.containers"

Deploy Application

# Deploy Node.js app from GitHub
oc_new_app with gitRepo: "https://github.com/sclorg/nodejs-ex.git"

Scale Application

# Scale deployment to 3 replicas
oc_scale with name: "my-app", replicas: 3

Patch Resource

# Update deployment labels
oc_patch with resourceType: "deployment", name: "my-app",
         patch: '{"metadata":{"labels":{"environment":"production"}}}'

Troubleshoot Issues

# Get pod troubleshooting guidance
Use prompt: troubleshoot-openshift-prompt
Arguments: issueType: "pod", resourceName: "my-app-12345", namespace: "my-project"

# Get deployment troubleshooting guidance
Use prompt: troubleshoot-openshift-prompt
Arguments: issueType: "deployment", resourceName: "my-app", namespace: "my-project"

# Get general cluster troubleshooting guidance
Use prompt: troubleshoot-openshift-prompt
Arguments: issueType: "cluster", symptoms: "nodes not ready"

Development

# Setup
npm install

# Build
npm run build

# Test
npm test

# Start (STDIO)
npm start

# Start (HTTP)
npm run start:http

# Development mode
npm run dev

Transport Modes

STDIO (Default)

  • Direct MCP client integration

  • Lower latency

  • Recommended for local development

HTTP/SSE

  • Remote access capability

  • Web integration friendly

  • Container deployment ready

Architecture

src/
├── index.ts              # Main server entry point
├── tools/                # Tool implementations
├── resources/            # MCP resources
├── prompts/              # Interactive prompts
├── sampling/             # Log sampling and analysis
├── models/               # Zod validation schemas
└── utils/                # OpenShift CLI wrapper

Security

Authentication Security

  • Token Authentication: Preferred method for automation and production use

  • Password Authentication: Available but token authentication is recommended

  • HTTPS Enforcement: All cluster connections must use HTTPS

  • URL Validation: Server URLs validated to prevent SSRF attacks

  • Private IP Blocking: Prevents connections to internal/metadata services

Operational Security

  • RBAC Compliance: Respects OpenShift RBAC permissions

  • No Credential Storage: Credentials are not stored or transmitted by the server

  • User Permissions: Executes with the same permissions as the authenticated user

  • Input Validation: Comprehensive validation of all inputs and parameters

  • Secure Defaults: Conservative security settings by default

Best Practices

  • Use Service Account Tokens: For automation and CI/CD pipelines

  • Regular Token Rotation: Rotate authentication tokens regularly

  • TLS Certificate Validation: Always validate TLS certificates in production

  • Least Privilege: Use accounts with minimal required permissions

  • Session Management: Use oc logout to clear credentials when done

License

MIT License - see LICENSE file for details.

Available Tools

14 tools
oc_api_resourcesA

List all available API resources in the OpenShift cluster with their details

ParametersJSON Schema
NameRequiredDescriptionDefault
verbsNoFilter by supported verbs (e.g., ["get", "list", "create", "delete"])
outputNoOutput format for the API resources listtable
contextNoOpenShift context to use (optional)
apiGroupNoFilter by specific API group (e.g., apps, extensions, networking.k8s.io)
categoriesNoGroup resources by categories (core, apps, networking, etc.)
namespacedNoFilter by namespaced resources only

TDQS

A3.8/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 transparency burden. 'List' signals a read-only operation, but the description does not explicitly note that it makes no changes, nor does it disclose behavior like cluster context usage or output structure beyond 'details'.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every word contributes to stating the tool's action and scope.

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 read-only discovery tool, the description combined with a fully documented schema is largely sufficient. It lacks an explicit note about return format or output structure (no output schema exists), and no annotations add safety context, but the core purpose and parameters are covered.

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

Parameters3/5

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

Schema description coverage is 100%, so the six parameters are fully documented in the schema with types, defaults, and examples. The description adds no parameter-level meaning, but the baseline of 3 applies because the schema handles the heavy lifting.

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 uses a specific verb ('List') and distinct resource ('all available API resources in the OpenShift cluster'), clearly differentiating from siblings like oc_get or oc_explain that target specific resources or explanations. It communicates both action and scope in a single sentence.

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 for discovering API resources but provides no explicit when-to-use, prerequisites, or alternatives. It does not mention when to prefer oc_explain or oc_get, leaving the agent to infer the appropriate context.

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

oc_applyC

Apply YAML manifests to OpenShift cluster with comprehensive error handling and validation for all scenarios

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL to YAML manifest to apply
waitNoWait for resources to be ready
forceNoForce apply, ignore conflicts
pruneNoPrune resources not in current configuration
dryRunNoValidate only, don't apply (client or server)
cascadeNoDeletion cascade strategy
contextNoOpenShift context to use (optional)
timeoutNoTimeout for wait operation (e.g., "60s", "5m")
filenameNoPath to YAML file to apply
manifestNoYAML manifest content to apply
selectorNoLabel selector for pruning
validateNoValidate resources before applying
kustomizeNoApply kustomization directory
namespaceNoOpenShift namespace/projectdefault
overwriteNoOverwrite existing resources
recursiveNoProcess directory recursively
gracePeriodNoGrace period for resource deletion (seconds)
fieldManagerNoField manager name for server-side apply
pruneWhitelistNoResource types to include in pruning
serverSideApplyNoUse server-side apply

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry the burden of disclosing behavioral traits. It only offers a vague claim about 'comprehensive error handling and validation' without specifics on side effects, idempotency, cluster requirements, or handling of conflicts. This is insufficient for a mutating tool with 20 parameters.

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 single sentence, making it very concise and front-loaded with the core action. However, the phrase 'for all scenarios' is vague and adds little value, slightly reducing the score from a perfect 5.

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

Completeness2/5

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

For a tool with 20 parameters, no annotations, and no output schema, a one-sentence description is inadequate. It fails to mention the various input modes (URL, file, manifest, kustomize), prunability, server-side apply, or wait/force options, leaving major gaps in understanding the tool's full capabilities.

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

Parameters3/5

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

The input schema provides descriptions for all 20 parameters (100% coverage), so the description need not add parameter details. The description adds no parameter-specific meaning, but the schema is thorough, so the baseline score of 3 is appropriate.

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 tool applies YAML manifests to an OpenShift cluster. The verb 'apply' is specific and implies create-or-update behavior, distinguishing it from siblings like oc_create or oc_delete, though it does not explicitly name alternatives.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as oc_create, oc_patch, or oc_delete. No scenarios or exclusion criteria are mentioned, leaving the agent to infer usage from the tool name and schema.

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

oc_createC

Create OpenShift resources like projects, deploymentconfigs, routes, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName of the resource
imageNoContainer image for deploymentconfig
dryRunNoValidate only, don't create
contextNoOpenShift context to use (optional)
serviceNoService name for route
filenameNoPath to YAML file to create resources from
hostnameNoHostname for route
manifestNoYAML manifest to create resources from
replicasNoNumber of replicas
namespaceNoOpenShift namespace/projectdefault
descriptionNoDescription for project
displayNameNoDisplay name for project
resourceTypeNoType of resource to create (project, deploymentconfig, route, service, etc.)

TDQS

C2.4/5.0
Behavior1/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 only says 'Create' and gives examples, offering no information about idempotency, failure behavior, authentication requirements, or side effects. This is essentially a restatement of the tool name.

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 a single concise sentence with no wasted words, but it is under-specified for a tool with 13 parameters. It lacks structure and additional context, making it efficient yet incomplete.

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

Completeness1/5

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

This is a complex tool with 13 optional parameters and no output schema or annotations. The description provides only a vague overview, failing to explain parameter relationships, return values, or usage scenarios across different resource types. It is far from complete.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning, leaving the schema's individual parameter descriptions to carry the semantics.

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 tool creates OpenShift resources, listing examples like projects, deploymentconfigs, and routes. However, it does not distinguish from sibling tools such as oc_apply or oc_new_app, which also create resources.

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

Usage Guidelines2/5

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

No guidance is provided regarding when to use oc_create versus alternatives like oc_apply or oc_new_app. The description gives no context for choosing this tool over its siblings.

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

oc_deleteB

Delete OpenShift resources with comprehensive safety checks, validation, and error handling

ParametersJSON Schema
NameRequiredDescriptionDefault
allNoDelete all resources of the specified type
urlNoURL to YAML manifest defining resources to delete
nameNoName of the resource to delete
waitNoWait for deletion to complete
forceNoForce deletion (bypass finalizers)
dryRunNoShow what would be deleted without actually deleting
cascadeNoDeletion cascade strategybackground
confirmNoRequire explicit confirmation for destructive operations
contextNoOpenShift context to use (optional)
timeoutNoTimeout for deletion operation (e.g., "60s", "5m")
filenameNoPath to YAML file to delete resources from
manifestNoYAML manifest defining resources to delete
ignore404NoIgnore 404 errors if resource does not exist
namespaceNoOpenShift namespace/projectdefault
recursiveNoProcess directory recursively
resourceTypeNoType of resource to delete (required if not using manifest/filename)
allNamespacesNoDelete resources across all namespaces
fieldSelectorNoDelete resources matching field selector
labelSelectorNoDelete resources matching label selector
gracePeriodSecondsNoGrace period for deletion in seconds

TDQS

B3.4/5.0
Behavior2/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 mentions 'comprehensive safety checks, validation, and error handling' but these are vague and unsubstantiated. It doesn't disclose specific behaviors like confirmation prompts, dry-run capabilities, or destructive consequences, which is a significant gap for a deletion tool.

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

Conciseness5/5

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

The description is a single sentence that front-loads the primary action ('Delete OpenShift resources') and avoids redundancy. The additional phrase 'with comprehensive safety checks, validation, and error handling' is generic but does not bloat the description excessively.

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

Completeness2/5

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

For a destructive tool with 20 parameters, no annotations, and no output schema, the description is severely under-specified. It doesn't explain when deletion occurs, what safety mechanisms exist, how to choose between manifest/name/selector based deletion, or what the expected results are. This inadequacy could lead to misuse.

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

Parameters3/5

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

The input schema provides descriptions for all 20 parameters (100% coverage), so the description doesn't need to explain them. It adds no additional parameter semantics beyond the schema, but the baseline of 3 is appropriate given the high schema coverage.

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 uses a specific verb ('Delete') and resource ('OpenShift resources'), making the tool's purpose unambiguous. It distinguishes well from sibling tools like oc_create, oc_apply, and oc_get, which handle different lifecycle operations.

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 for deleting resources but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It doesn't mention scenarios like manifest-based deletion vs. inline resource selection, leaving the when-to-use context underdeveloped.

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

oc_describeB

Describe any OpenShift resource and share the output in various formats including human-readable summary

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the resource to describe
outputNoOutput format: text (default oc describe), yaml, json, or human-readable (concise summary)human-readable
contextNoOpenShift context to use (optional)
namespaceNoOpenShift namespace/projectdefault
resourceTypeYesType of resource to describe (pod, deployment, service, route, etc.)

TDQS

B3.2/5.0
Behavior2/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 only mentions output formats, omitting important traits like whether it requires an authenticated cluster, whether it is read-only, error behavior, or what a human-readable summary includes.

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 single front-loaded sentence that states the core action and key output capability. It is appropriately concise, though the word 'share' is slightly vague and could be replaced with clearer language like 'returns' or 'displays'.

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

Completeness3/5

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

The description is minimally viable: it states the action and mentions output formats, and the schema covers all parameters. However, given the ambiguity among sibling tools and the lack of annotations or output schema, it could benefit from usage guidance and behavioral details to be fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema fully documents all five parameters. The description adds no additional meaning beyond mentioning output formats, which the schema already captures via the 'output' enum and description.

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 uses the specific verb 'Describe' and names the resource type ('any OpenShift resource'), clearly distinguishing it from siblings like oc_get and oc_explain. It also mentions the key differentiator of multiple output formats, including human-readable summary.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool instead of oc_get or oc_explain. The description implies a describe operation, but does not state when this is preferred over alternatives or any exclusions.

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

oc_explainB

Explain OpenShift/Kubernetes resource schemas, fields, and API documentation

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldNoSpecific field path to explain (e.g., spec.containers, metadata.labels)
outputNoOutput format for the explanationplaintext
contextNoOpenShift context to use (optional)
resourceYesResource type to explain (e.g., pod, deployment, service, route.route.openshift.io)
recursiveNoShow all fields recursively
apiVersionNoSpecific API version to explain (e.g., apps/v1, route.openshift.io/v1)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. It only states the high-level purpose and does not disclose whether the operation is read-only, what output formats are supported, or any side effects. This is minimal behavioral disclosure beyond the name and purpose.

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 single, front-loaded sentence with no fluff. It effectively communicates the tool's core purpose, though it could be enhanced with a second sentence about usage without adding much length.

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

Completeness2/5

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

The tool has 6 parameters and no output schema, yet the description provides only a high-level purpose. It does not mention the return format, how field paths work, or how it interacts with the OpenShift API. Given the tool's complexity, this is insufficient for an agent to fully understand its capabilities.

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

Parameters3/5

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

All parameters have detailed descriptions in the input schema (100% coverage). The description adds no parameter-specific information, so the baseline of 3 applies. The schema adequately explains the parameters.

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 purpose: explaining OpenShift/Kubernetes resource schemas, fields, and API documentation. It uses a specific verb and resource, and the scope is clear, though it does not explicitly differentiate from sibling tools like oc_describe or oc_api_resources.

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 usage context is implied by the purpose: when you need to understand schemas or fields, this tool is the choice. However, there is no explicit guidance on when to use this vs alternatives, no exclusions, and no mention of specific use cases.

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

oc_exposeC

Expose an OpenShift resource (service, deployment, etc.) with secure route endpoints supporting SSL/TLS termination

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoPath to TLS private key file
nameYesName of the resource to expose
pathNoPath for the route (e.g., /api)
portNoTarget port to expose (port name or number)
dryRunNoShow what would be created without actually creating it
labelsNoLabels to apply to the route in KEY=VALUE format
weightNoWeight for this route (0-256)
contextNoOpenShift context to use (optional)
hostnameNoCustom hostname for the route
namespaceNoOpenShift namespace/projectdefault
routeNameNoName for the route (if not specified, derives from resource name)
routeTypeNoType of secure route: edge (SSL termination at router), passthrough (SSL passthrough), reencrypt (SSL re-encryption)edge
annotationsNoAnnotations to apply to the route in KEY=VALUE format
certificateNoPath to TLS certificate file
resourceTypeYesResource type to expose (service, deploymentconfig, deployment)
caCertificateNoPath to CA certificate file
tlsTerminationNoTLS termination type (deprecated, use routeType instead)
wildcardPolicyNoWildcard policy for the routeNone
destinationCaCertificateNoPath to destination CA certificate file (for reencrypt)
insecureEdgeTerminationPolicyNoPolicy for insecure traffic: None (reject), Allow (allow), Redirect (redirect to secure)Redirect

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states a high-level action and does not disclose side effects (e.g., creating a Route object), overwrite behavior, permission requirements, or failure modes, which are critical for a mutating Kubernetes/OpenShift tool.

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 single, focused sentence with no redundant words. It front-loads the action and includes a useful parenthetical resource list, though it could be more detailed for a tool this complex.

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

Completeness2/5

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

With 20 parameters and no output schema, a one-sentence description is inadequate. It does not explain prerequisites, route creation semantics, or interaction with existing routes, leaving the agent without sufficient context to invoke the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning—it only mentions secure route endpoints and TLS termination, which loosely aligns with routeType/certificate params but doesn't clarify them beyond the schema.

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 uses the specific verb 'Expose' and identifies the resource types (service, deployment, etc.) and key capability (secure route endpoints with SSL/TLS termination). It distinguishes from sibling tools like oc_create or oc_apply by focusing on route-based exposure, though it doesn't explicitly say 'creates a route'.

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

Usage Guidelines2/5

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

No explicit when-to-use or alternatives are provided. The description implies usage for exposing resources with TLS termination but does not contrast with sibling tools like oc_create or oc_apply, which could also create routes.

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

oc_getC

Get OpenShift resources like pods, deploymentconfigs, routes, projects, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName of the resource (optional - if not provided, lists all resources)
outputNoOutput formatjson
contextNoOpenShift context to use (optional)
namespaceNoOpenShift namespace/projectdefault
resourceTypeYesType of resource to get (e.g., pods, deploymentconfigs, routes, projects, services)
allNamespacesNoList resources across all namespaces
fieldSelectorNoFilter resources by field selector
labelSelectorNoFilter resources by label selector (e.g., app=nginx)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Get...' without mentioning whether the operation is read-only, how output is returned, potential permissions needed, or any side effects. This leaves critical behavioral ambiguity for a tool with no annotation support.

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 single sentence, front-loaded with the action verb and resource examples. It is concise and free of fluff, though it could be expanded to include more contextual structure without becoming verbose.

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

Completeness2/5

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

With 8 parameters, no output schema, and no annotations, the one-sentence description is insufficient. It does not explain the return format, default behavior, or when to use optional parameters like fieldSelector or allNamespaces, making the tool difficult to invoke correctly without additional knowledge.

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

Parameters3/5

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

The input schema has 100% description coverage, including examples for resourceType. The tool description adds no extra parameter-specific meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

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 that the tool gets OpenShift resources and provides examples such as pods, deploymentconfigs, routes, and projects. It does not explicitly differentiate from sibling tools like oc_describe, but the verb 'get' and resource list make the primary purpose understandable.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like oc_describe or oc_logs. There is no mention of exclusions, preferred scenarios, or distinctions from sibling tools, leaving the agent without clear selection criteria.

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

oc_install_operatorA

Install an Operator on the OpenShift/Kubernetes cluster using OLM, Helm, or direct manifests

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoInstallation method: olm (Operator Lifecycle Manager), helm (Helm chart), or manifest (direct YAML)olm
channelNoUpdate channel for the operator (stable, alpha, beta, etc.)
contextNoOpenShift context to use (optional)
versionNoVersion of the operator to install (if not specified, installs latest available)
helmRepoNoHelm repository URL (required if source is helm)
namespaceNoTarget namespace for operator installationdefault
manifestUrlNoURL to operator manifest (required if source is manifest)
operatorNameYesName of the operator to install (e.g., "prometheus-operator", "cert-manager")
createNamespaceNoCreate namespace if it does not exist
installPlanApprovalNoInstall plan approval strategy for OLMAutomatic

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It states that it installs an operator but does not disclose side effects like namespace creation, CRD installation, or OLM subscription behavior. The schema hints at createNamespace and installPlanApproval, but the description itself lacks behavioral detail.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the key information: install, operator, cluster, and methods. Every word earns its place with no redundancy.

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

Completeness3/5

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

For a complex tool with 10 parameters and multiple installation methods, the description is minimal. It provides a high-level overview but lacks guidance on how to select the source method or what happens after installation. The schema provides detailed parameter descriptions, but the overall context is incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents each parameter. The description adds no additional parameter context or examples, providing no value beyond the schema. Baseline 3 is appropriate.

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 'Install' and the resource 'an Operator' on an OpenShift/Kubernetes cluster, specifying three installation methods. This distinguishes it from sibling tools like oc_create or oc_apply, which handle general resource creation, while this is specific to operator installation.

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 by mentioning OLM, Helm, or direct manifests, but does not explicitly state when to choose this tool over alternatives or when to use each source method. It gives no exclusions or prerequisites, leaving the agent to infer from the schema.

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

oc_loginB

Securely log into an OpenShift cluster using username/password or token authentication

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNoOpenShift authentication token (required if authMethod is token)
serverYesOpenShift cluster server URL (e.g., https://api.cluster.example.com:6443)
contextNoContext name to save the login session (optional)
timeoutNoLogin timeout in seconds
passwordNoPassword for password authentication (required if authMethod is password)
usernameNoUsername for password authentication (required if authMethod is password)
namespaceNoDefault namespace to set after logindefault
authMethodYesAuthentication method to usetoken
certificateAuthorityNoPath to certificate authority file for TLS verification
insecureSkipTlsVerifyNoSkip TLS certificate verification (not recommended for production)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It mentions 'securely' but does not disclose side effects such as modifying kubeconfig, persisting credentials, changing the current context, or requiring network access to the cluster. This is a notable gap for a login tool that changes state.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core action and auth methods, with no filler words. It is appropriately sized.

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

Completeness2/5

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

The tool has 10 parameters and no output schema or annotations, yet the description only covers the basic login action. It omits important context like the effect on the local kubeconfig, the need for network access to the server, and how login interacts with other oc tools. This is insufficient for an AI agent to fully understand usage and consequences.

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

Parameters3/5

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

The schema already provides detailed descriptions for all 10 parameters, including conditional requirements (required if authMethod is token/password). The description adds no additional parameter-level meaning beyond restating the auth methods, so it does not improve on 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 clearly states the tool's action (log into) and resource (OpenShift cluster), and explicitly lists the authentication methods (username/password or token). This distinguishes it from sibling tools like oc_get or oc_apply, which perform cluster operations rather than authentication.

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 that this tool is a prerequisite for other oc commands but does not explicitly state when to use it or when not to use it, nor does it mention alternatives. There is no guidance about requiring an existing cluster connection or how it fits into a workflow.

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

oc_logsB

Get logs from OpenShift resources like pods, deployments, builds, etc. with advanced filtering and streaming options

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the resource
tailNoNumber of lines to show from end of logs (-1 for all)
sinceNoShow logs since relative time (e.g. 5s, 2m, 3h) or absolute time
followNoFollow logs output (stream live logs)
contextNoOpenShift context to use (optional)
previousNoShow logs from previous terminated container
selectorNoLabel selector to filter pods
containerNoContainer name (for pods with multiple containers)
namespaceNoOpenShift namespace/projectdefault
sinceTimeNoShow logs since absolute timestamp (RFC3339)
limitBytesNoMaximum bytes to return
timestampsNoInclude timestamps in log output
resourceTypeNoType of resource to get logs frompod
allContainersNoGet logs from all containers in the pod
maxLogRequestsNoMaximum number of concurrent log requests when using selectors

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. The description mentions 'streaming options' which implies follow behavior, but it does not disclose potential long-running operations, large log outputs, or permission requirements. This lack of detail leaves the agent without important behavioral awareness.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose. It is appropriately sized with no redundant information.

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

Completeness3/5

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

Given the tool's complexity (15 parameters) and lack of annotations or output schema, the one-sentence description provides only a high-level overview. While the schema fills in parameter details, the description does not address usage context, edge cases, or alternatives, leaving the agent with limited guidance for selection.

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

Parameters3/5

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

The schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema provides, such as examples or interaction effects between parameters.

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 'Get logs from OpenShift resources' with specific resource examples (pods, deployments, builds). This distinguishes it from sibling tools like oc_get or oc_describe, which serve different purposes. The verb 'Get' and resource 'logs' provide a clear, specific purpose.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. It neither names alternative tools nor gives exclusions. However, the explicit focus on logs implies a distinct use case, but it's not directly stated.

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

oc_new_appB

Create a new application from a GitHub repository using S2I build and expose it with an edge-terminated route

ParametersJSON Schema
NameRequiredDescriptionDefault
envNoEnvironment variables in KEY=VALUE format
gitRefNoGit reference (branch, tag, or commit) to build from (default: main/master)
labelsNoLabels in KEY=VALUE format
appNameNoName for the application (if not specified, derives from repo name)
contextNoOpenShift context to use (optional)
gitRepoYesGitHub repository URL for the source code
strategyNoBuild strategy: source (S2I) or dockersource
namespaceNoTarget namespace for the applicationdefault
contextDirNoContext directory within the Git repository
exposeRouteNoCreate an edge-terminated route to expose the application
builderImageNoBuilder image for S2I build (e.g., "nodejs:18-ubi8", "python:3.9-ubi8")
routeHostnameNoCustom hostname for the route (if not specified, uses default)
createNamespaceNoCreate namespace if it does not exist

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the main action but omits important behavioral details such as automatic namespace creation (createNamespace defaults to true), what OpenShift resources are created (BuildConfig, DeploymentConfig, Service, Route), and behavior if the app already exists. This is limited transparency for a mutating tool.

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

Conciseness5/5

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

The description is a single sentence that front-loads the verb and resource, is free of filler, and every word contributes. It is appropriately sized for its purpose.

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

Completeness2/5

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

With 13 parameters, no annotations, and no output schema, a single-sentence description is insufficient. It lacks context on the overall workflow, prerequisites, side effects, and how parameters relate (e.g., how builderImage interacts with strategy). The description does not explain what the user should expect to happen after invoking the tool.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; references to 'S2I build' and 'edge-terminated route' are already reflected in parameters like strategy and exposeRoute. No further parameter interaction or format details are given.

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 action ('Create a new application'), the resource ('from a GitHub repository'), and the method ('using S2I build and expose it with an edge-terminated route'). This distinguishes it from siblings like oc_create (generic create) and oc_expose (route-only).

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 context is implied: this tool is for creating a new app from a GitHub repo with S2I. However, there is no explicit when-to-use guidance or mention of alternatives among sibling tools such as oc_create or oc_apply. No exclusions or decision criteria are provided.

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

oc_patchC

Patch OpenShift resources with strategic merge, JSON merge, or JSON patch operations

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the resource to patch
forceNoForce the patch operation, ignoring conflicts
patchYesPatch content as JSON string or YAML. For strategic merge patch (default), provide the fields to update. For JSON patch, use RFC 6902 format.
dryRunNoPerform a dry run without making actual changes
contextNoOpenShift context to use (optional)
namespaceNoNamespace/project for the resource (not required for cluster-scoped resources)default
patchTypeNoType of patch operationstrategic
subresourceNoSubresource to patch (e.g., status, scale)
fieldManagerNoField manager name for server-side apply trackingmcp-openshift-client
resourceTypeYesType of resource to patch (pod, deployment, service, route, configmap, secret, etc.)
recordHistoryNoRecord the patch operation in the resource annotation for rollback purposes

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description bears full responsibility for behavioral disclosure. It states that the tool patches resources, implying modification, but does not disclose that it mutates existing resources, may require specific permissions, can be dangerous with force, or that dryRun is available. Deeper behavioral context is absent.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the purpose. It contains no redundant words and efficiently conveys the core functionality.

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

Completeness2/5

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

With 11 parameters, no annotations, and no output schema, the description is too sparse to give a complete picture. It lacks information about return values, side effects, error scenarios, or practical examples, leaving the agent to infer most behavioral context from the schema alone.

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

Parameters3/5

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

Input schema coverage is 100%, so the baseline is 3. The description adds a little value by explicitly naming the three patch types, which maps to the patchType parameter, but it does not add syntax or usage details beyond what the schema already documents.

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 tool's action ('Patch') and resource scope ('OpenShift resources'), and names the three patch operation types (strategic merge, JSON merge, JSON patch). It is specific enough to distinguish from create/delete/scale, but does not explicitly contrast with sibling tools like oc_apply, which also modifies resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as oc_apply, oc_create, or oc_scale. There is no mention of prerequisites, typical use cases, or when to choose a specific patch type.

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

oc_scaleA

Scale the number of pods in a deployment, deploymentconfig, replicaset, or statefulset to the specified number of replicas

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the resource to scale
contextNoOpenShift context to use (optional)
replicasYesNumber of replicas to scale to
namespaceNoOpenShift namespace/projectdefault
resourceTypeNoResource type to scale (deployment, deploymentconfig, replicaset, statefulset)deployment

TDQS

A3.8/5.0
Behavior3/5

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

The description accurately discloses the core behavior—changing replica counts—but does not mention side effects like rolling updates, potential downtime when scaling down, or required permissions. With no annotations, the description carries a moderate burden, but it remains truthful and understandable.

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

Conciseness5/5

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

The description is a single, concise sentence that gets straight to the point without any filler. It is well-structured and easy to parse, conveying the essential action and resource types efficiently.

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 five parameters are fully documented in the schema, the description covers the core purpose adequately. The only missing context is what the command returns (e.g., status output), but for a scaling operation this is not critical and the description is otherwise complete for execution.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameter descriptions already provide the necessary semantics. The tool description adds minimal additional value beyond stating the replica count target, which is already covered by the 'replicas' parameter description.

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 uses a specific verb ('Scale') and clearly identifies the action ('number of pods') and the target resources ('deployment, deploymentconfig, replicaset, or statefulset'). This distinguishes it from sibling tools like oc_delete or oc_patch by specifying the scaling action and resource scope.

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 intended usage is implied by the name and description: use it to scale pod counts on a set of resource types. However, there is no explicit 'when to use' guidance or mention of alternatives like oc_patch for updating replicas, leaving some ambiguity for agents comparing tools.

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. Dates show when Glama detected each change.

  1. 14 tool updatesv1.2.0
    • First observedoc_api_resources
    • First observedoc_apply
    • First observedoc_create
    • First observedoc_delete
    • First observedoc_describe
    • First observedoc_explain
    • First observedoc_expose
    • First observedoc_get
    • First observedoc_install_operator
    • First observedoc_login
    • First observedoc_logs
    • First observedoc_new_app
    • First observedoc_patch
    • First observedoc_scale

TDQS

A3.5/5.0
Disambiguation5/5

Each tool maps to a distinct OpenShift operation (get vs. describe vs. create vs. apply, etc.) with clear boundaries. The functions are well-separated and unlikely to be confused.

Naming Consistency5/5

All tools follow a consistent oc_ prefix with snake_case verb or noun forms (e.g., oc_describe, oc_new_app, oc_api_resources). The naming pattern is uniform and predictable.

Tool Count5/5

14 tools is well within the ideal range for a domain-specific server covering common OpenShift operations. Each tool serves a necessary purpose without redundancy.

Completeness5/5

The set covers the full lifecycle: authentication (login), resource discovery (api_resources, explain), creation/updating (create, apply, patch, new_app), inspection (get, describe, logs), scaling, exposure, and deletion. Operators are also supported. No critical gaps for typical cluster management.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables diagnostics and troubleshooting of OpenShift clusters through storage analysis, resource monitoring, GPU utilization tracking, and pod health checks using Prometheus metrics and the oc CLI.
    11
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs like Claude to securely execute Kubernetes CLI tools (kubectl, helm, istioctl, argocd) across multiple clusters through dynamic kubeconfig support, allowing natural language Kubernetes management and operations.
    5
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with Kubernetes clusters through 50 specialized tools for comprehensive cluster management. Supports both local kubectl and remote SSH-based execution for managing pods, deployments, services, and other Kubernetes resources.
    49
    MIT

Latest Blog Posts

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/sanjaypsachdev/mcp-server-openshift'

If you have feedback or need assistance with the MCP directory API, please join our Discord server