OpenShift MCP Server
Supports installing operators via Helm charts.
Provides comprehensive OpenShift/Kubernetes cluster management capabilities through the oc CLI, including resource management, scaling, logging, and application deployment.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenShift MCP Serverlist pods in the default namespace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenShift MCP Server
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 configuredAccess to an OpenShift cluster
Installation
git clone https://github.com/sanjaypsachdev/mcp-server-openshift.git
cd mcp-server-openshift
npm install
npm run buildConfiguration
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-onlyTools
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 categorizationoc_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 templatesoc_apply- Apply YAML manifests with validation and conflict resolutionoc_delete- Delete resources with safety checks and confirmation optionsoc_patch- Patch resources using strategic merge, JSON merge, or JSON patch operationsoc_describe- Describe resources with multiple output formats
Application Lifecycle
oc_new_app- Deploy applications from Git repositories with S2I buildsoc_scale- Scale deployments, deploymentconfigs, replicasets, and statefulsetsoc_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 eventsopenshift://project-list- Detailed project information with quotas and usage statisticsopenshift://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 issuesmonitoring-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: 3Patch 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 devTransport 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 wrapperSecurity
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 logoutto clear credentials when done
License
MIT License - see LICENSE file for details.
Available Tools
14 toolsoc_api_resourcesA
List all available API resources in the OpenShift cluster with their details
| Name | Required | Description | Default |
|---|---|---|---|
| verbs | No | Filter by supported verbs (e.g., ["get", "list", "create", "delete"]) | |
| output | No | Output format for the API resources list | table |
| context | No | OpenShift context to use (optional) | |
| apiGroup | No | Filter by specific API group (e.g., apps, extensions, networking.k8s.io) | |
| categories | No | Group resources by categories (core, apps, networking, etc.) | |
| namespaced | No | Filter by namespaced resources only |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL to YAML manifest to apply | |
| wait | No | Wait for resources to be ready | |
| force | No | Force apply, ignore conflicts | |
| prune | No | Prune resources not in current configuration | |
| dryRun | No | Validate only, don't apply (client or server) | |
| cascade | No | Deletion cascade strategy | |
| context | No | OpenShift context to use (optional) | |
| timeout | No | Timeout for wait operation (e.g., "60s", "5m") | |
| filename | No | Path to YAML file to apply | |
| manifest | No | YAML manifest content to apply | |
| selector | No | Label selector for pruning | |
| validate | No | Validate resources before applying | |
| kustomize | No | Apply kustomization directory | |
| namespace | No | OpenShift namespace/project | default |
| overwrite | No | Overwrite existing resources | |
| recursive | No | Process directory recursively | |
| gracePeriod | No | Grace period for resource deletion (seconds) | |
| fieldManager | No | Field manager name for server-side apply | |
| pruneWhitelist | No | Resource types to include in pruning | |
| serverSideApply | No | Use server-side apply |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the resource | |
| image | No | Container image for deploymentconfig | |
| dryRun | No | Validate only, don't create | |
| context | No | OpenShift context to use (optional) | |
| service | No | Service name for route | |
| filename | No | Path to YAML file to create resources from | |
| hostname | No | Hostname for route | |
| manifest | No | YAML manifest to create resources from | |
| replicas | No | Number of replicas | |
| namespace | No | OpenShift namespace/project | default |
| description | No | Description for project | |
| displayName | No | Display name for project | |
| resourceType | No | Type of resource to create (project, deploymentconfig, route, service, etc.) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | Delete all resources of the specified type | |
| url | No | URL to YAML manifest defining resources to delete | |
| name | No | Name of the resource to delete | |
| wait | No | Wait for deletion to complete | |
| force | No | Force deletion (bypass finalizers) | |
| dryRun | No | Show what would be deleted without actually deleting | |
| cascade | No | Deletion cascade strategy | background |
| confirm | No | Require explicit confirmation for destructive operations | |
| context | No | OpenShift context to use (optional) | |
| timeout | No | Timeout for deletion operation (e.g., "60s", "5m") | |
| filename | No | Path to YAML file to delete resources from | |
| manifest | No | YAML manifest defining resources to delete | |
| ignore404 | No | Ignore 404 errors if resource does not exist | |
| namespace | No | OpenShift namespace/project | default |
| recursive | No | Process directory recursively | |
| resourceType | No | Type of resource to delete (required if not using manifest/filename) | |
| allNamespaces | No | Delete resources across all namespaces | |
| fieldSelector | No | Delete resources matching field selector | |
| labelSelector | No | Delete resources matching label selector | |
| gracePeriodSeconds | No | Grace period for deletion in seconds |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the resource to describe | |
| output | No | Output format: text (default oc describe), yaml, json, or human-readable (concise summary) | human-readable |
| context | No | OpenShift context to use (optional) | |
| namespace | No | OpenShift namespace/project | default |
| resourceType | Yes | Type of resource to describe (pod, deployment, service, route, etc.) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| field | No | Specific field path to explain (e.g., spec.containers, metadata.labels) | |
| output | No | Output format for the explanation | plaintext |
| context | No | OpenShift context to use (optional) | |
| resource | Yes | Resource type to explain (e.g., pod, deployment, service, route.route.openshift.io) | |
| recursive | No | Show all fields recursively | |
| apiVersion | No | Specific API version to explain (e.g., apps/v1, route.openshift.io/v1) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Path to TLS private key file | |
| name | Yes | Name of the resource to expose | |
| path | No | Path for the route (e.g., /api) | |
| port | No | Target port to expose (port name or number) | |
| dryRun | No | Show what would be created without actually creating it | |
| labels | No | Labels to apply to the route in KEY=VALUE format | |
| weight | No | Weight for this route (0-256) | |
| context | No | OpenShift context to use (optional) | |
| hostname | No | Custom hostname for the route | |
| namespace | No | OpenShift namespace/project | default |
| routeName | No | Name for the route (if not specified, derives from resource name) | |
| routeType | No | Type of secure route: edge (SSL termination at router), passthrough (SSL passthrough), reencrypt (SSL re-encryption) | edge |
| annotations | No | Annotations to apply to the route in KEY=VALUE format | |
| certificate | No | Path to TLS certificate file | |
| resourceType | Yes | Resource type to expose (service, deploymentconfig, deployment) | |
| caCertificate | No | Path to CA certificate file | |
| tlsTermination | No | TLS termination type (deprecated, use routeType instead) | |
| wildcardPolicy | No | Wildcard policy for the route | None |
| destinationCaCertificate | No | Path to destination CA certificate file (for reencrypt) | |
| insecureEdgeTerminationPolicy | No | Policy for insecure traffic: None (reject), Allow (allow), Redirect (redirect to secure) | Redirect |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the resource (optional - if not provided, lists all resources) | |
| output | No | Output format | json |
| context | No | OpenShift context to use (optional) | |
| namespace | No | OpenShift namespace/project | default |
| resourceType | Yes | Type of resource to get (e.g., pods, deploymentconfigs, routes, projects, services) | |
| allNamespaces | No | List resources across all namespaces | |
| fieldSelector | No | Filter resources by field selector | |
| labelSelector | No | Filter resources by label selector (e.g., app=nginx) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Installation method: olm (Operator Lifecycle Manager), helm (Helm chart), or manifest (direct YAML) | olm |
| channel | No | Update channel for the operator (stable, alpha, beta, etc.) | |
| context | No | OpenShift context to use (optional) | |
| version | No | Version of the operator to install (if not specified, installs latest available) | |
| helmRepo | No | Helm repository URL (required if source is helm) | |
| namespace | No | Target namespace for operator installation | default |
| manifestUrl | No | URL to operator manifest (required if source is manifest) | |
| operatorName | Yes | Name of the operator to install (e.g., "prometheus-operator", "cert-manager") | |
| createNamespace | No | Create namespace if it does not exist | |
| installPlanApproval | No | Install plan approval strategy for OLM | Automatic |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | OpenShift authentication token (required if authMethod is token) | |
| server | Yes | OpenShift cluster server URL (e.g., https://api.cluster.example.com:6443) | |
| context | No | Context name to save the login session (optional) | |
| timeout | No | Login timeout in seconds | |
| password | No | Password for password authentication (required if authMethod is password) | |
| username | No | Username for password authentication (required if authMethod is password) | |
| namespace | No | Default namespace to set after login | default |
| authMethod | Yes | Authentication method to use | token |
| certificateAuthority | No | Path to certificate authority file for TLS verification | |
| insecureSkipTlsVerify | No | Skip TLS certificate verification (not recommended for production) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the resource | |
| tail | No | Number of lines to show from end of logs (-1 for all) | |
| since | No | Show logs since relative time (e.g. 5s, 2m, 3h) or absolute time | |
| follow | No | Follow logs output (stream live logs) | |
| context | No | OpenShift context to use (optional) | |
| previous | No | Show logs from previous terminated container | |
| selector | No | Label selector to filter pods | |
| container | No | Container name (for pods with multiple containers) | |
| namespace | No | OpenShift namespace/project | default |
| sinceTime | No | Show logs since absolute timestamp (RFC3339) | |
| limitBytes | No | Maximum bytes to return | |
| timestamps | No | Include timestamps in log output | |
| resourceType | No | Type of resource to get logs from | pod |
| allContainers | No | Get logs from all containers in the pod | |
| maxLogRequests | No | Maximum number of concurrent log requests when using selectors |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment variables in KEY=VALUE format | |
| gitRef | No | Git reference (branch, tag, or commit) to build from (default: main/master) | |
| labels | No | Labels in KEY=VALUE format | |
| appName | No | Name for the application (if not specified, derives from repo name) | |
| context | No | OpenShift context to use (optional) | |
| gitRepo | Yes | GitHub repository URL for the source code | |
| strategy | No | Build strategy: source (S2I) or docker | source |
| namespace | No | Target namespace for the application | default |
| contextDir | No | Context directory within the Git repository | |
| exposeRoute | No | Create an edge-terminated route to expose the application | |
| builderImage | No | Builder image for S2I build (e.g., "nodejs:18-ubi8", "python:3.9-ubi8") | |
| routeHostname | No | Custom hostname for the route (if not specified, uses default) | |
| createNamespace | No | Create namespace if it does not exist |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the resource to patch | |
| force | No | Force the patch operation, ignoring conflicts | |
| patch | Yes | Patch content as JSON string or YAML. For strategic merge patch (default), provide the fields to update. For JSON patch, use RFC 6902 format. | |
| dryRun | No | Perform a dry run without making actual changes | |
| context | No | OpenShift context to use (optional) | |
| namespace | No | Namespace/project for the resource (not required for cluster-scoped resources) | default |
| patchType | No | Type of patch operation | strategic |
| subresource | No | Subresource to patch (e.g., status, scale) | |
| fieldManager | No | Field manager name for server-side apply tracking | mcp-openshift-client |
| resourceType | Yes | Type of resource to patch (pod, deployment, service, route, configmap, secret, etc.) | |
| recordHistory | No | Record the patch operation in the resource annotation for rollback purposes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the resource to scale | |
| context | No | OpenShift context to use (optional) | |
| replicas | Yes | Number of replicas to scale to | |
| namespace | No | OpenShift namespace/project | default |
| resourceType | No | Resource type to scale (deployment, deploymentconfig, replicaset, statefulset) | deployment |
TDQS
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.
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.
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.
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.
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.
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.
14 tool updates
v1.2.0- First observed
oc_api_resources - First observed
oc_apply - First observed
oc_create - First observed
oc_delete - First observed
oc_describe - First observed
oc_explain - First observed
oc_expose - First observed
oc_get - First observed
oc_install_operator - First observed
oc_login - First observed
oc_logs - First observed
oc_new_app - First observed
oc_patch - First observed
oc_scale
TDQS
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.
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.
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.
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
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
Deploy, monitor, and manage your OpenClaw AI assistants via natural language.
Fail-closed policy guardrails for AI agents running kubectl, terraform, helm, and argocd.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables managing Kubernetes clusters through natural language by providing tools to list resources, view logs, port-forward services, scale deployments, and execute kubectl operations via AI assistants.81-
- FlicenseAqualityDmaintenanceEnables 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-
- AlicenseNot gradedqualityDmaintenanceEnables 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.5MIT
- AlicenseBqualityDmaintenanceEnables 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.49MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sanjaypsachdev/mcp-server-openshift'
If you have feedback or need assistance with the MCP directory API, please join our Discord server