Skip to main content
Glama
MCPg - Production-grade PostgreSQL MCP Server

MCPg - Production-grade PostgreSQL MCP Server

Get WarehousePG status

get_warehousepg_status
Read-only

Detects whether a connected server is WarehousePG or Greenplum and reports coordinator role, primary segment count, and mirroring status; returns a clean unavailable diagnostic for vanilla PostgreSQL.

Instructions

Probe the connected server for the WarehousePG (Greenplum-derived MPP) signature. Reports available=true only when BOTH the version string mentions WarehousePG / Greenplum AND the gp_segment_configuration catalog view exists. Surfaces coordinator_role, segment_count (primary segments only), and mirroring (bool). On vanilla PostgreSQL clusters returns available=false with a clean diagnostic — the rest of the mcpg.warehousepg.* family advertise themselves inert via this probe. Read-only; never raises.

Example: get_warehousepg_status()

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_warehousepg_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
databaseNoOptional: a database id from list_databases, to target a configured secondary (read-only) database; omit for the primary. Database names that are not configured ids are rejected.

Output Schema

NameRequiredDescriptionDefault
detailYes
versionYes
availableYes
mirroringYes
segment_countYes
coordinator_roleYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.4
    • changedInput schema / properties / database / description
      Previous value: -"Optional: target a configured secondary (read-only) database by name; omit for the primary. Call list_databases to see the configured ids."New value: +"Optional: a database id from list_databases, to target a configured secondary (read-only) database; omit for the primary. Database names that are not configured ids are rejected."
  2. First observedv0.6.8

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description reinforces that with 'Read-only; never raises' — a genuinely useful guarantee about failure behavior. It also discloses the detection predicate (version string AND catalog view), the fields surfaced (coordinator_role, segment_count as primaries only, mirroring), and the clean negative path. It does not discuss cost, latency, or what the diagnostic looks like in detail, which is why this is a 4 rather than a 5.

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-loaded with the core action and the availability predicate, then the surfaced fields, then the negative case, then the example. Dense but every sentence carries information. The 'advertise themselves inert' phrasing is slightly jargon-heavy but communicates a real cross-tool contract.

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 zero-required-parameter read-only probe with an output schema and full annotation coverage, the description covers detection semantics, negative behavior, and failure guarantees. The only gap is that it never tells the agent it can target a secondary database, leaving the sole parameter's practical use entirely to the schema.

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 the single optional `database` parameter is fully documented in the schema, so the baseline of 3 applies. The description never mentions the ability to target a configured secondary database, adding no meaning beyond the schema on the one parameter that exists.

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 and resource ('Probe the connected server for the WarehousePG signature') and pins down the exact semantics of the result: available=true only when both the version string and the gp_segment_configuration view match. It also distinguishes itself from the surrounding toolset by noting that the rest of the mcpg.warehousepg.* family gates on this probe.

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 makes the calling context clear — this is the capability probe that determines whether the warehousepg family is usable, and on vanilla PostgreSQL it returns available=false with a clean diagnostic. That implies 'call this before the warehousepg tools', but the guidance is implied rather than stated as an explicit when-to-use/when-not-to-use rule with a named alternative.

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