Skip to main content
Glama

Discover service containers

discover_service_containers
Idempotent

Run a read-only Docker discovery on a supported Firecracker service to list containers, images, state, health, ports, Compose labels, and VPSnet-managed status; it exposes no env values or mounts.

Instructions

Run a bounded read-only Docker discovery on one supported Firecracker service. Returns container names, images, state, health, published ports, Compose labels, and whether each container is VPSnet-managed. If still pending after polling, retain discovery.id and call get_service_container_discovery. It never returns environment values or mounts and does not adopt or modify containers. Requires applications:read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
orderNoYesTenant-owned service order number: 1-64 ASCII letters, digits or hyphens, e.g. VP12345 or VP12345-1

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.3.16

TDQS

A3.5/5.0
Behavior1/5

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

The description asserts a 'read-only Docker discovery' and that it 'does not adopt or modify containers', while annotations declare readOnlyHint=false. That is a direct conflict on the tool's most safety-critical attribute, so per the rules a 1 with a contradiction flag applies even though the description otherwise adds useful detail about exclusions and pending handling.

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?

Front-loads the operation and its scope, then return fields, then the pending escape hatch, then exclusions, then the auth requirement. Five sentences are dense but each carries information; slight tightening would still be possible.

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?

With no output schema, the description compensates by enumerating the returned fields and by disclosing what is deliberately excluded (environment values, mounts). It covers the pending/async path and the auth scope. Remaining gaps are minor (what 'bounded' means, poll timing), but the read-only mischaracterization is a completeness problem in itself.

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 single orderNo parameter is documented at 100% schema coverage with pattern, length and example, so the schema carries the meaning. The description only implies 'one supported Firecracker service' without adding format or lookup guidance beyond the schema, making the baseline 3 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?

States a specific verb (run discovery), a bounded scope (one supported Firecracker service) and the resource (Docker containers), and names what it returns. It also distinguishes itself from the sibling get_service_container_discovery by defining that tool's role as the pending follow-up.

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

Usage Guidelines4/5

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

Gives explicit routing: use this tool first, and if it is still pending after polling, retain discovery.id and switch to get_service_container_discovery. It also states the applications:read prerequisite. No explicit when-not-to-use case, but the decision path between the two tools is clear.

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