Skip to main content
Glama
oomchiller

openstack-mcp-server

by oomchiller

List volumes

list_volumes
Read-onlyIdempotent

Retrieve OpenStack project volumes with size, type, and attachments, using name/status filters and paging to inspect block storage.

Instructions

List volumes in the project with size (GiB), type and attachments.

Paged with limit and marker.

Input Schema

NameRequiredDescriptionDefault
nameNo
limitNoMaximum items to return (1-100, default 50).
markerNonext_marker from the previous page; omit for the first page.
statusNo
project_idNoProject ID to work in; omit for the default project. Allowed values are listed by get_scope.

Output Schema

NameRequiredDescriptionDefault
itemsYes
limitYesMaximum number of items requested.
completeYesTrue when no more items exist beyond this page.
resourceYesResource type of the items.
project_idYesProject whose session produced the list.
next_markerNoPass as marker to read the next page; null when complete or when the API has no marker paging.
observed_atYesUTC time the list was read.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and openWorld behavior, so the safety profile is covered. The description adds the paging mechanism, which is useful context, but doesn't disclose return format or filtering behavior beyond the safety metadata.

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

Conciseness5/5

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

Two short, front-loaded sentences with zero filler. The scope and returned fields come first, followed by the pagination note.

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?

An output schema exists, so return values needn't be re-explained. The description covers scope and pagination adequately for a list tool, with the only minor gap being undocumented name/status filters.

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 60%: limit, marker, and project_id carry schema descriptions, while name and status have none. The description only reinforces the paging semantics already in the schema and does not explain the name or status filters, so it does not compensate for the coverage gap.

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 and resource ('List volumes') plus scope ('in the project') and the fields returned (size, type, attachments). It does not explicitly distinguish itself from siblings like get_volume or list_volume_attachments, though the list-vs-get naming is intuitive.

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?

Mentions pagination via limit and marker, implying usage for browsing collections, but offers no explicit when-to-use guidance, no exclusions, and no routing to alternatives such as list_volume_attachments when attachments are the focus.

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