Skip to main content
Glama
severalnines

@severalnines/ccx-admin-mcp

Official
by severalnines

List all datastores

ccx_admin_list_datastores
Read-onlyIdempotent

List all CCX datastores with owner, status, and latest job. Filter by name, type, status, user, or cloud provider to monitor cluster health.

Instructions

List datastores (database clusters) across ALL CCX users, with owner, status and the latest job. The API returns everything in one call; filters are applied client-side. Status values include STARTED, DEGRADED, FAILURE, STOPPED, UNKNOWN, and CCX lifecycle states such as creating_cluster, deploy_failed, deleting, unreachable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoSubstring of the datastore name
typeNoExact cluster type, e.g. replication, galera, postgres_streaming, redis
limitNoMax results (default 50)
offsetNoOffset into the filtered list
statusNoExact status to match (case-insensitive), e.g. DEGRADED
job_statusNoExact status of the latest job, e.g. JOB_STATUS_FAILED, JOB_STATUS_RUNNING
user_loginNoSubstring of the owner's login/email
cloud_providerNoExact cloud provider, e.g. aws, elastx

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds meaningful behavioral context beyond that: it reveals the API returns everything in one call and that filtering happens client-side, which is crucial for agents expecting server-side filtering or worrying about payload size. It also enumerates status values, which helps set expectations for the data returned. No contradiction with annotations.

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 sentences with zero waste. The first sentence front-loads the verb, resource, scope, and returned fields; the second sentence adds the critical client-side filtering behavior and a useful list of status values. Every clause earns its place, and the description remains compact despite the tool's 8 parameters.

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 8 parameters, no output schema, and no annotations beyond safety hints, the description covers the essential context: what the call returns (owner, status, latest job), the all-users scope, the client-side filtering, and possible status values. It omits explicit mention of pagination mechanics, but the schema already documents limit/offset, and the 'everything in one call' statement reasonably implies pagination is not server-side. For a list tool this is sufficient, though a brief mention of result ordering or size could push it to 5.

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 every one of the 8 parameters already has a meaningful description in the schema. The tool description adds no extra parameter semantics beyond implying that filters are applied client-side, which relates to how parameters are used but does not describe the parameters themselves. Baseline 3 is appropriate since the schema does the heavy lifting.

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 states a specific verb ('List'), a resource ('datastores'), and a clear scope ('across ALL CCX users'), while also naming the returned fields ('owner, status and the latest job'). This distinguishes it from sibling tools like ccx_admin_get_datastore (singular fetch) and ccx_admin_count_datastores (count), so an agent can tell them apart without inspecting other schemas.

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?

The description gives clear context for when to use this tool: it lists all datastores across all users, and explicitly notes that 'the API returns everything in one call; filters are applied client-side.' This implies it is the go-to for broad listing and that filtering is local, but it does not name alternative tools or state when not to use it. A named sibling comparison would push this to 5.

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