Skip to main content
Glama
kouko

redshift-comment-mcp

by kouko

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MAX_MCP_OUTPUT_TOKENSNoBump the MCP response token cap from default (~25K) to a higher value, e.g., 50000.
REDSHIFT_COMMENT_PROFILENoOverride the active profile name. Resolution chain: --profile flag > this env var > active-profile pointer file > implicit fallback.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_schemasA

List schema names. include_comments defaults to True (cheap — schema count is small).

list_tablesB

List tables in a schema. Pass include_comments=True to include table comments inline; include_parent_comments (default True) also returns the parent schema's comment.

list_columnsC

List columns (name, type, nullable) in a table. Pass include_comments=True to include column comments inline; include_parent_comments (default True) also returns the parent table's comment.

search_schemasA

Search schemas by keywords (space-separated, OR logic) over schema name and comment.

search_tablesA

Search tables by keywords (space-separated, OR logic) over table name and comment.

Pass schema_name to scope to one schema (faster, narrower). Omit it to search across all user schemas in the cluster (broader, slightly slower).

search_columnsA

Search columns by keywords (space-separated, OR logic) over column name and comment.

schema_name is required. Pass table_name to scope to one table (cheap; use this for routine drill-down). Omit table_name to search every table in the schema (schema-wide; the natural primitive for cross-table FK / JOIN-key reconnaissance, returns table_name on each row).

get_schema_commentB

Get the authoritative comment for a schema — defines its true business purpose; trust it over the schema name.

get_table_commentA

Get the authoritative comment for a table — defines what data it actually contains; trust it over the table name.

get_column_commentB

Get the authoritative comment for a column — defines its business meaning and calculation logic; trust it over the column name.

get_all_column_commentsB

Get authoritative comments for ALL columns in a table at once. Each comment overrides the column name.

execute_sqlA

Execute a read-only SQL query (SELECT/WITH only). Result rows are paginated via limit/offset.

setup_via_dialogA

Bootstrap (or update) a Redshift connection profile from inside an MCP session.

Use when DB tools (list_schemas etc.) return {"error": "not_configured"}, or to add a new profile / re-key an existing one. Ask the user for host / port / user / dbname conversationally — these are not secret — then call this tool. The password is collected via an OS-native dialog (macOS osascript / Linux zenity) launched server-side; it never crosses the MCP wire, never appears in chat or tool args.

Outcomes (return shape):

  • {"status": "configured", ...} — profile written, password in keychain. Lazy resolve picks it up on next DB tool call; no restart needed.

  • {"status": "dialog_cancelled" | "dialog_unavailable" | "platform_unsupported" | "empty_password", ...} — profile fields saved but no password set; the message field tells the agent / user what to do next (often: run redshift-comment-mcp set-password --profile X --stdin from a terminal).

For headless environments without a GUI, prefer the CLI pair set-fields + set-password --stdin instead.

get_setup_statusA

Read-only check of whether a profile is configured. Safe to call at any time including the very start of a session — does not touch Redshift, does not return any secrets.

Use at session start to decide proactively whether to call setup_via_dialog (before triggering any DB tool's not_configured error path), or to verify a setup_via_dialog call succeeded from a fresh angle.

Returns:

  • profile — the queried profile name

  • source"inline" when the server was launched in legacy inline mode (--host/--user/--dbname + REDSHIFT_ PASSWORD env, e.g. the Claude Code plugin UI), else "profile". In inline mode the profile/keychain path is bypassed entirely, so don't go hunting for an active profile.

  • configured — bool, equivalent to has_fields && has_password

  • has_fields — whether config.toml has this profile's non-secret fields (host / port / user / dbname); in inline mode, True (the fields came from launch args)

  • has_password — whether a password is available (OS keychain in profile mode; REDSHIFT_PASSWORD / --password in inline mode). NEVER returns the password itself

  • host / port / user / dbname — present only when has_fields=True (these are non-secret)

  • next_step — present only when configured=False; actionable hint pointing at the right mechanism for the mode

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/kouko/redshift-comment-mcp'

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