redshift-comment-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAX_MCP_OUTPUT_TOKENS | No | Bump the MCP response token cap from default (~25K) to a higher value, e.g., 50000. | |
| REDSHIFT_COMMENT_PROFILE | No | Override the active profile name. Resolution chain: --profile flag > this env var > active-profile pointer file > implicit fallback. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_schemasB | 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_columnsB | 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_commentA | Get the authoritative comment for a schema — defines its true business purpose; trust it over the schema name. |
| get_table_commentB | Get the authoritative comment for a table — defines what data it actually contains; trust it over the table name. |
| get_column_commentA | 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 Outcomes (return shape):
Write ordering: the password is collected FIRST; config.toml and the keychain are only touched once one is in hand. That keeps a failed setup from leaving a profile whose fields point at the new cluster while the keychain still holds the old password. For headless environments without a GUI, prefer the CLI pair
|
| 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
Returns:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools are cleanly separated by resource and action (list/search/get on schemas/tables/columns), and execute_sql/setup_via_dialog are unambiguous. Some overlap remains: list_tables/list_columns with include_comments can partially substitute for get_table_comment/get_all_column_comments, and the 'authoritative' distinction is a bit subtle.
Tool names consistently follow a verb_noun snake_case pattern: list_*, search_*, get_*, execute_sql, setup_via_dialog. Resource nouns are regular across list/search tools, and comment getters follow object+_comment. No mixed conventions or vague verb choices.
13 tools is within the ideal range and covers discovery, search, comment retrieval, SQL, and setup. A few comment getters are arguably redundant with the include_comments options on list tools, but the count is still well-scoped for the domain.
The surface covers schema/table/column discovery, comment lookup, keyword search, ad-hoc SQL, and bootstrap/status, so core workflows have no dead ends. Minor gaps remain: there is no bulk table-comment fetch independent of listing, and column search requires a schema rather than supporting a true cluster-wide search.