Skip to main content
Glama
devopam

MCPg - Production-grade PostgreSQL MCP Server

Analyze MPP query plan

analyze_mpp_query_plan
Read-only

Run EXPLAIN ANALYZE with JSON output on a SQL query and extract MPP-specific metrics: motion nodes, slice count, and sender/receiver details, with a flag for data co-location issues.

Instructions

Run EXPLAIN (ANALYZE, FORMAT JSON) on sql and roll up MPP-specific facts: slice count, motion nodes (Redistribute Motion / Broadcast Motion / Gather Motion), and per-motion metadata (senders, receivers, estimated rows). Uses the same safety pre-flight as analyze_query_plan(io=True) — writes / DDL stay rejected. redistribute_count flags 'data is not co-located with the join key'. On vanilla PG returns available=false.

Example: analyze_mpp_query_plan(sql='SELECT * FROM big JOIN small ON big.k = small.k')

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sqlYes
databaseNoOptional: target a configured secondary (read-only) database by name; omit for the primary. Call list_databases to see the configured ids.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailYes
motionsYes
availableYes
slice_countYes
gather_countYes
motion_countYes
broadcast_countYes
redistribute_countYes
Behavior4/5

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

Annotations declare readOnlyHint=true, openWorldHint=false. The description adds value by confirming no writes/DDL, detailing the safety pre-flight, and explaining the output (slice count, motion nodes, metadata). It also discloses the vanilla PG behavior. No contradictions 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?

The description is concise, front-loaded with the core action, and organized into clear sentences. It ends with a relevant example. Every sentence contributes value without redundancy.

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?

Given the complexity of MPP query plan analysis, the description covers key outputs (slice count, motion types, metadata), safety constraints, and availability. The presence of an output schema (context) reduces the need to detail return fields. Minor gap: edge cases or error handling not addressed.

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 50% (database param documented, sql param not). The description adds meaning for 'sql' via its purpose and example, but does not detail the database parameter beyond what the schema provides. This partially compensates; baseline 3 is 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?

The description clearly states the tool runs EXPLAIN (ANALYZE, FORMAT JSON) on SQL and rolls up MPP-specific facts like slice count and motion nodes. It differentiates itself from sibling analyze_query_plan by referencing the same safety pre-flight, and specifies behavior on vanilla PG (returns available=false). This provides a specific verb+resource and distinguishes from siblings effectively.

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 indicates that writes/DDL are rejected (when not to use) and that the tool is MPP-specific (vanilla PG returns false). It gives an example and mentions the safety pre-flight analogy to analyze_query_plan(io=True). However, it does not explicitly contrast with other plan analysis tools or state prerequisites (e.g., MPP extension), which would improve guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devopam/MCPg'

If you have feedback or need assistance with the MCP directory API, please join our Discord server