Skip to main content
Glama
call518

MCP PostgreSQL Operations

get_vacuum_analyze_stats

Retrieve VACUUM and ANALYZE execution history, statistics, and table activity data to monitor PostgreSQL database maintenance status and performance.

Instructions

[Tool Purpose]: Analyze VACUUM and ANALYZE execution history and statistics per table

[Exact Functionality]:

  • Retrieve last VACUUM/ANALYZE execution time for each table

  • Provide Auto VACUUM/ANALYZE execution count statistics

  • Analyze table activity with tuple insert/update/delete statistics

[Required Use Cases]:

  • When user requests "VACUUM status", "ANALYZE history", "table statistics", etc.

  • When database maintenance status overview is needed

  • When performance issues or statistics update status verification is required

[Strictly Prohibited Use Cases]:

  • Requests for VACUUM or ANALYZE execution

  • Requests for Auto VACUUM configuration changes

  • Requests for forced statistics update

Args: database_name: Database name to analyze (uses default database if omitted)

Returns: Schema name, table name, last VACUUM time, last ANALYZE time, and execution count statistics

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
database_nameNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It effectively discloses behavioral traits: it's a read-only analysis tool (implied by 'retrieve', 'provide', 'analyze' without mutation terms), specifies what data it returns (execution times, counts, activity statistics), and clarifies limitations (e.g., no execution or configuration changes). However, it lacks details on rate limits, error handling, or authentication needs, which could be relevant for an agent.

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?

The description is well-structured with labeled sections ([Tool Purpose], [Exact Functionality], etc.), making it easy to parse. It's appropriately sized—each sentence adds value, such as detailing functionality and use cases without redundancy. However, it could be slightly more concise by integrating some sections (e.g., merging 'Exact Functionality' with 'Returns').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (analysis of database maintenance stats), the description is complete: it covers purpose, functionality, usage guidelines, parameter semantics, and return values. With an output schema present, the description doesn't need to detail return format, and it adequately addresses gaps from missing annotations (e.g., behavioral transparency). This provides a comprehensive understanding for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage (no schema descriptions), but the description compensates by explaining the single parameter: 'database_name: Database name to analyze (uses default database if omitted)'. This adds crucial context beyond the schema's basic type/name, clarifying its optional nature and default behavior. Since there's only one parameter, this is sufficient for high utility.

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 explicitly states the tool's purpose as analyzing VACUUM and ANALYZE execution history and statistics per table, using specific verbs ('retrieve', 'provide', 'analyze') and clearly identifying the resource (database tables). It distinguishes itself from siblings like get_running_vacuum_operations (which monitors active operations) and get_vacuum_effectiveness_analysis (which focuses on effectiveness rather than history/statistics).

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

Usage Guidelines5/5

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

The description provides explicit guidance with 'Required Use Cases' (e.g., when users request 'VACUUM status' or need maintenance overview) and 'Strictly Prohibited Use Cases' (e.g., requests for VACUUM execution or configuration changes). It clearly differentiates when to use this tool versus alternatives, such as avoiding it for active operations or configuration tasks handled by other tools.

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/call518/MCP-PostgreSQL-Ops'

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