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

MCPg - Production-grade PostgreSQL MCP Server

List Redis foreign servers

list_redis_foreign_servers
Read-only

Lists Redis foreign servers backed by redis_fdw with address, port, database, TLS, and credential mapping status to verify SQL-queryable Redis access.

Instructions

List the foreign servers backed by redis_fdw — the FDW that exposes a Redis instance as SQL-queryable foreign tables. Reports each server's connection address, port, database, TLS posture, and whether a user mapping (credential) is configured. Returns an empty list when the redis_fdw extension is not installed. Returns a list of objects with name, address, port, database, tls (bool), password_configured (bool), and options (the full server-options dict).

Example: list_redis_foreign_servers()

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": "list_redis_foreign_servers"
  }
}

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
resultYes

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

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description goes further by disclosing the exact shape of what comes back (name, address, port, database, tls, password_configured, options) and the important edge case that an absent redis_fdw yields an empty list rather than an error. That edge-case disclosure is genuinely useful behavioral context not available from annotations.

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 purpose, then the returned fields, then the empty-list caveat — a sensible ordering with little waste. The trailing example line is marginally redundant for a zero-required-parameter tool but not harmful.

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 read-only single-parameter list tool with an output schema, the description is more than sufficient: purpose, scope, return fields, and the no-extension edge case are all present. The only omission an agent might want is the interaction with the `database` parameter and how this differs operationally from the generic foreign-server listing.

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% and the single `database` parameter is fully documented in the schema, including the secondary/read-only targeting semantics and the rejection of unconfigured ids. The description adds nothing about that parameter — it never mentions secondary database targeting — so it sits at the baseline where the schema does all the work.

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 names a specific verb and resource ('List the foreign servers backed by redis_fdw') and immediately qualifies the scope: only servers exposed through that particular FDW, with the underlying mechanism (Redis instance as SQL-queryable foreign tables) spelled out. This distinguishes it from the sibling list_foreign_servers, which covers all FDWs, without the agent needing to open either schema.

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 — the redis_fdw scoping hints that an agent wanting all foreign servers should look elsewhere, and the empty-list-on-missing-extension note tells the agent how to interpret a null result. But there is no explicit 'use list_foreign_servers instead when...' routing or statement of prerequisites/alternatives.

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