Skip to main content
Glama
johsem

Semaphore UI MCP server

by johsem

list_terraform_states

Read-onlyIdempotent

Lists Terraform states for a specified project inventory in Semaphore UI, helping you inspect available state files; results depend on edition, license, and permissions.

Instructions

list terraform states. Availability depends on Semaphore edition, license, and permissions; some Community routes return 404 or empty lists. GET /project/{project_id}/inventory/{inventory_id}/terraform/states.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYes
inventory_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world behavior, so the bar is lower. The description adds genuinely non-schema information: that results depend on Semaphore edition/license/permissions and that Community routes may return 404 or empty lists, which shapes how an agent should interpret a failure.

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?

Two short sentences, purpose first and caveat second, with no filler. The raw endpoint path is somewhat redundant for an agent but does anchor the parameter roles.

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

Completeness3/5

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

For a simple two-parameter read tool with no output schema, the description covers failure modes but says nothing about what the collection contains (state metadata? per-inventory) or pagination/bounding. Adequate but leaves an agent guessing at the return shape.

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 0%, so the description carries the burden. The path template communicates that both project_id and inventory_id are path identifiers scoping the listing, which adds some meaning, but there are no format, validation, or ordering details beyond the integer + minimum 1 in the schema.

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

Purpose4/5

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

States a specific verb+resource ('list terraform states') and the REST path pins down the collection scope (per-inventory). It does not distinguish itself from siblings like get_latest_terraform_state or get_terraform_state, which an agent must infer from the names alone.

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 availability caveat (edition/license/permissions, possible 404 or empty list) implicitly tells the agent when calls may fail, but there is no explicit guidance on when to use this versus get_latest_terraform_state or get_terraform_state.

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

Deploy Server

Other Tools