Skip to main content
Glama

mcp-devops-server

An MCP (Model Context Protocol) server that gives AI agents access to DevOps tools — kubectl, terraform, helm, docker, and AWS cost analysis.

Works with Claude Desktop, Cursor, GitHub Copilot, and any MCP-compatible client.

Tools

Tool

Description

kubectl_get

Get Kubernetes resources

kubectl_describe

Describe a Kubernetes resource

kubectl_logs

Get pod logs

terraform_plan

Run terraform plan

terraform_show

Show terraform state

helm_list

List Helm releases

helm_diff

Preview Helm upgrade changes

docker_ps

List Docker containers

docker_logs

Get container logs

aws_cost_summary

Get AWS cost summary (last 7/30 days)

aws_resource_inventory

List AWS resources by service

Related MCP server: K8s MCP Server

Installation

Using npx (no install)

npx @basel5001/mcp-devops-server

Global install

npm install -g @basel5001/mcp-devops-server
mcp-devops-server

From source

git clone https://github.com/basel5001/mcp-devops-server.git
cd mcp-devops-server
npm install
npm run build
npm start

Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "devops": {
      "command": "npx",
      "args": ["-y", "@basel5001/mcp-devops-server"]
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "devops": {
      "command": "npx",
      "args": ["-y", "@basel5001/mcp-devops-server"]
    }
  }
}

Security Considerations

  • Command allowlist: Only kubectl, terraform, helm, docker, and aws commands can be executed.

  • Argument sanitization: Shell metacharacters (;, &, |, `, $) and path traversal (..) are rejected.

  • No shell execution: Commands run via execFile (not exec), preventing shell injection.

  • Timeouts: All commands have configurable timeouts (default 30s) to prevent hanging.

  • Read-only by design: No destructive operations (delete, apply, destroy) are exposed.

Development

npm install
npm run dev    # watch mode
npm run build  # compile
npm run lint   # lint

License

MIT

Available Tools

11 tools
aws_cost_summaryC

Get AWS cost summary

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to look back (7 or 30)
granularityNoDAILY

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are available, so the description must carry the full burden. It does not disclose behavioral traits such as whether it queries the Cost Explorer API, the time period behavior, or idempotency. The description is vague and lacks detail beyond the basic 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 concise sentence that states the core purpose. It is front-loaded and free of verbosity. However, it could be slightly expanded to include essential context without becoming lengthy.

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?

Given the tool has two optional parameters and no output schema, the description is incomplete. It does not explain the output format, the meaning of the summary, or any caveats about data freshness or API costs. The context signals indicate a low complexity but the description fails to provide a complete picture.

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

Parameters2/5

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

Schema description coverage is 50%, meaning one parameter ('days') has a description. The tool description does not mention any parameters or add meaning beyond the schema. The 'granularity' parameter's enum values are clear from the schema, but the description provides no guidance on usage or interpretation.

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 'Get AWS cost summary' clearly states the action (get) and resource (AWS cost summary). It is distinct from sibling tools like aws_resource_inventory, which focus on inventory rather than cost. However, it lacks specificity about what kind of summary (e.g., aggregate, per service).

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 usage guidelines are provided. The description does not indicate when to use this tool over alternatives, or any prerequisites or context for retrieval.

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

aws_resource_inventoryC

List AWS resources by service

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoAWS region
serviceYesAWS service to list

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided; description only says 'list' which implies read-only, but no mention of permissions, rate limits, or scope of resources listed. Incomplete behavioral disclosure.

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?

Extremely concise but lacks structure like bullet points or usage examples. Could be improved with brevity while adding value.

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?

No output schema and no description of return format. For a listing tool, it would be helpful to mention what kind of data is returned (e.g., resource IDs, names, count). Incomplete for a new user.

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% with descriptions for both parameters, so the description adds no extra semantics beyond what's in the schema. 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 'List AWS resources by service' clearly states the action and the resource type, and distinct from sibling tools which cover Kubernetes, Terraform, Docker, and AWS cost analysis.

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 on when to use this tool versus alternatives like aws_cost_summary or when to combine with other tools. Lacks context on typical use cases.

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

docker_logsB

Get Docker container logs

ParametersJSON Schema
NameRequiredDescriptionDefault
tailNoNumber of lines from the end
sinceNoShow logs since timestamp or duration
containerYesContainer name or ID

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description fails to disclose behavioral traits like read-only nature, potential performance impact, or streaming behavior. It only states the obvious.

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?

Extremely concise single sentence, front-loaded with key action and resource. No wasted words, though slightly under-specified for context.

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

Completeness4/5

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

For a simple tool with well-documented parameters and no output schema, the description is adequate. It could include more on return format or default behavior.

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% and each parameter is well-described. The description adds no extra meaning beyond the schema, so baseline of 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 'Get Docker container logs' clearly states the action (Get) and resource (Docker container logs), distinguishing it from sibling tools like kubectl_logs (Kubernetes).

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 on when to use this tool vs alternatives, such as docker_ps. Missing context on prerequisites or limitations.

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

docker_psC

List Docker containers

ParametersJSON Schema
NameRequiredDescriptionDefault
allNoShow all containers (including stopped)
filterNoFilter (e.g. status=running)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not mention read-only behavior, side effects, or auth requirements, leaving assumptions implicit.

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

Conciseness4/5

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

Extremely concise single sentence front-loading the purpose. Could include a small clarification about default behavior but still efficient.

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?

Minimally complete for a simple list tool with optional params and no output schema. Lacks details about output format or default behavior, but adequate for basic use.

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% with descriptions for both parameters. The description adds no extra meaning beyond the schema, meeting the baseline but no more.

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

Purpose4/5

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

The description clearly states the action (List) and resource (Docker containers), but lacks specificity about scope (all vs. running) without referencing the 'all' parameter.

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 on when to use this tool versus siblings like 'docker_logs' or 'kubectl_get'. No context about prerequisites or selection criteria.

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

helm_diffB

Preview Helm upgrade changes

ParametersJSON Schema
NameRequiredDescriptionDefault
chartYesChart reference (e.g. bitnami/nginx)
valuesNoPath to values file
releaseYesRelease name
namespaceNoKubernetes namespace

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 must convey behavioral traits. It states 'Preview' but does not disclose prerequisites (e.g., cluster access), side effects, or output format. Returns nothing about whether changes are shown as diff or summary.

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 concise phrase with no wasted words. It is front-loaded and clear, though it could benefit from a sentence structure.

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?

As a preview tool with no output schema, the description is too minimal. It does not explain what the preview shows, how to use the result, or any limitations. Sibling tools like terraform_plan typically provide more context.

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 100% description coverage for all 4 parameters. The description does not add additional meaning beyond the schema, so it meets the baseline of 3.

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 'Preview Helm upgrade changes' uses a specific verb 'Preview' and clearly identifies the resource as 'Helm upgrade changes'. It distinguishes this tool from siblings like helm_list (which lists releases) and terraform_plan (which plans Terraform changes).

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 before a Helm upgrade but does not provide explicit guidance on when to use or alternatives. It lacks context compared to siblings like terraform_plan, which often have more detailed usage instructions.

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

helm_listC

List Helm releases

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceNoKubernetes namespace (omit for all)
allNamespacesNoList across all namespaces

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are present, so the description must carry the burden. It only states 'List Helm releases' without disclosing read-only nature, potential side effects, authentication needs, or rate limits.

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 extremely concise (3 words), which is efficient but lacks any structural elements like context or examples. It earns its place but could be expanded slightly for clarity.

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?

Given the lack of output schema and annotations, the description is incomplete. It does not explain the return format, pagination, or error scenarios, leaving the agent with limited actionable context.

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 covers both parameters with descriptions (100% coverage). The tool description adds no additional meaning beyond what the schema provides, so it meets the baseline.

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 'List Helm releases' is a clear verb+resource pair, distinguishing it from sibling tools like kubectl_logs or terraform_plan. However, it does not differentiate from other Helm-specific tools such as helm_diff.

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 on when to use this tool versus alternatives. There are no hints about prerequisites, filtering, or exclusions.

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

kubectl_describeC

Describe a Kubernetes resource

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesResource name
resourceYesResource type
namespaceNoKubernetes namespace

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states 'describe', implying a read operation but does not explicitly confirm read-only nature, required permissions, output format, or side effects.

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

Conciseness3/5

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

The description is a single sentence with no waste, but it is under-informative. It achieves conciseness at the expense of clarity and completeness, lacking front-loaded context.

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?

Given no output schema and no annotations, the description should compensate by explaining return values or expected output. It does not, leaving an agent uninformed about what 'describe' produces (e.g., YAML, status details).

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% with basic descriptions for each parameter (name, resource, namespace). The tool description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose3/5

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

The description 'Describe a Kubernetes resource' provides a verb and resource type but is vague. It doesn't specify what 'describe' entails (e.g., show detailed configuration, status), and fails to distinguish from sibling tools like kubectl_get, which also retrieves resource information.

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 given on when to use this tool versus alternatives like kubectl_get, kubectl_logs, or helm_list. There are no when-not or context cues to help an agent choose correctly.

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

kubectl_getC

Get Kubernetes resources

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoSpecific resource name
outputNoOutput format
resourceYesResource type (e.g. pods, deployments, services)
namespaceNoKubernetes namespace

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, permissions required, or output characteristics. The tool name implies retrieval but lacks explicit transparency.

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

Conciseness2/5

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

The description is a single sentence, which is concise, but it fails to convey essential information beyond the name. It does not earn its place as it adds minimal value.

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?

No output schema and no annotations. The description is too brief to provide sufficient context for a tool with 4 parameters, especially lacking guidance on behavior, output, or prerequisites.

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 additional meaning beyond the schema, which already documents each parameter adequately.

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

Purpose3/5

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

The description 'Get Kubernetes resources' identifies the verb and resource, but it is generic and does not distinguish from sibling tool 'kubectl_describe'. This lack of specificity limits purpose clarity.

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 on when to use this tool versus alternatives like kubectl_describe or kubectl_logs. The description provides no context for selection.

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

kubectl_logsC

Get logs from a Kubernetes pod

ParametersJSON Schema
NameRequiredDescriptionDefault
podYesPod name
tailNoNumber of lines from the end
sinceNoDuration like 1h, 30m
containerNoContainer name
namespaceNoKubernetes namespace

TDQS

C2.8/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 full burden of behavioral disclosure. It only states 'Get logs', omitting details like streaming behavior, default tail, or handling of multiple containers.

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 sentence with no extra words, achieving conciseness. However, it may be under-specified for an agent unfamiliar with the tool.

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?

Given the schema covers parameters, the description lacks context about return type (logs as text), limitations (single pod, cluster access required), and common usage patterns.

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 already documents all parameters adequately. The description adds no additional meaning beyond what is in the schema, meeting the baseline expectation.

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 verb 'Get' and the resource 'logs from a Kubernetes pod'. It is distinct from sibling tools like kubectl_get (which gets resources) and docker_logs (Docker logs), but does not explicitly differentiate itself.

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 on when to use this tool over alternatives. The description does not mention exclusions or context, leaving the agent to infer usage.

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

terraform_planC

Run terraform plan

ParametersJSON Schema
NameRequiredDescriptionDefault
varsNoTerraform variables as key-value pairs
directoryYesPath to the Terraform working directory

TDQS

C2.7/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 bear the full burden. It only states the operation, without disclosing behavioral traits such as side effects, authentication requirements, or whether the plan operation is safe to run multiple times.

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

Conciseness2/5

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

While extremely concise, the description is under-specified. It does not earn its place by providing useful information beyond the tool name; a single low-value sentence is not sufficient for a complex operation.

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 description is incomplete given the complexity of terraform plan. It does not explain what the plan outputs, how to interpret results, or how it relates to sibling tools like terraform_show. No output schema is present to fill the gap.

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 for its two parameters. The description adds no additional meaning beyond what the schema provides, but per guidelines, the baseline is 3 since schema coverage is high.

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 'Run terraform plan' clearly states the action and resource, making the purpose easily understandable. However, it does not distinguish this tool from siblings like terraform_show, which is a shortcoming.

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 on when to use this tool versus alternatives. There is no mention of prerequisites, expected workflow context, or scenarios where terraform_plan is appropriate.

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

terraform_showC

Show terraform state

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonNoOutput as JSON
directoryYesPath to the Terraform working directory

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only, safe, or requires any permissions. The phrase 'Show terraform state' implies a read operation, but the agent cannot confirm safety or side effects.

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

Conciseness4/5

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

The description is a single concise sentence with no unnecessary words. However, it is too brief, bordering on underspecification. It could include more details 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?

Given the simplicity of the tool (2 parameters, no output schema), the description is still incomplete. It does not explain the output format (e.g., human-readable vs. JSON), the behavior with missing state files, or any side effects. More context is needed for an agent to use it 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% with both parameters having descriptions in the schema. The tool description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 applies.

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

Purpose3/5

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

The description 'Show terraform state' provides a verb and resource, but it is nearly tautological with the tool name 'terraform_show'. It adds the word 'state', which gives some specificity, but does not differentiate from sibling tools like 'terraform_plan' that also deal with Terraform state. Overall, it is minimally clear.

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 on when to use this tool versus alternatives (e.g., terraform_plan). There is no mention of prerequisites, context, or conditions. The agent must infer usage from the name alone.

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

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct resource and action (e.g., logs vs. describe, plan vs. show). No two tools perform the same operation, even across different systems (e.g., kubectl_logs vs. docker_logs are clearly differentiated by prefix).

Naming Consistency5/5

All tools follow a consistent pattern: system_action in snake_case (e.g., kubectl_logs, terraform_plan, aws_cost_summary). No mixing of conventions like camelCase or inconsistent verbs.

Tool Count5/5

11 tools is well-scoped for a DevOps server covering multiple subsystems (Kubernetes, Terraform, Helm, Docker, AWS). Each tool provides a distinct operation without redundancy.

Completeness2/5

The tool surface has significant gaps: no create/delete for Kubernetes, no apply/destroy for Terraform, no install/uninstall for Helm, no build/exec for Docker, and only read-only AWS operations. Agents lack essential lifecycle actions.

Maintenance

ActivityMaintained
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

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/basel5001/mcp-devops-server'

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