Skip to main content
Glama

List PostgreSQL Databases

list_postgresql_databases
Read-only

Lists databases for a named local PostgreSQL instance on a selected node, supporting search and pagination while omitting credentials.

Instructions

List databases in an explicitly named local PostgreSQL instance on the selected node. Credentials are excluded.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "database": "<database>"
    },
    "name": "list_postgresql_databases"
  }
}

Input Schema

NameRequiredDescriptionDefault
infoNoOptional database name search filter.
pageNo1-indexed page number.
nodeIdNoTarget node ID: "local" for the Main Node, or a numeric string ID (e.g. "3") from list_nodes.local
databaseYesLocal PostgreSQL instance name (from `list_postgresql_instances`).
page_sizeNoItems per page (1-500).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description earns some credit for disclosing that credentials are excluded from results and that only local instances are in scope, but it says nothing about pagination behavior or what happens when the instance name is wrong.

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?

Two short sentences, front-loaded with the action and resource, no redundant restatement of the title. The second sentence about credentials is short and informative rather than filler.

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 simple read-only list tool with five fully documented parameters and annotations covering safety, the description is nearly sufficient. The only real gaps are the absence of any note on result volume/paging behavior and on what an invalid instance name yields, neither of which is covered by an output 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 description coverage is 100%, so nodeId, database, info, page and page_size are all already documented with defaults and bounds. The description reinforces that 'database' is a required explicit instance name and that results are node-scoped, but adds no format or syntax detail beyond the schema — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List databases') and narrows it with two scoping qualifiers: the instance must be explicitly named and local, and the target is the selected node. This separates it from the sibling list_databases (generic) and list_postgresql_instances (instances, not databases), though it never names those alternatives explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: 'explicitly named local PostgreSQL instance' hints that the caller must already know an instance name, and the schema's reference to list_postgresql_instances supplies the prerequisite. There is no explicit when-to-use statement, no exclusion such as remote/external PostgreSQL servers, and no guidance on choosing this over list_databases.

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