Labsco
MCP SERVER

Redshift Utils MCP Server

by vinodismyname

Diagnose an Amazon Redshift cluster in conversation — table health, lock contention, WLM workload, query plans — over the Data API, with credentials that stay in Secrets Manager.

Relational SQL Databases
Summary
Built around the queries an experienced Redshift admin already runs.

The diagnostic SQL is adapted from awslabs/amazon-redshift-utils, which is why the health and workload tools ask useful questions rather than generic ones — stats staleness and skew are the things that actually explain a slow table. Scope the Redshift user in the secret to what you want reachable; the ad-hoc query tool will run whatever that user can run.

What it is

An MCP server for Amazon Redshift that connects through the AWS Redshift Data API rather than a database driver, so there is no password in your config — the credentials live in a Secrets Manager secret and the server holds only its ARN. Its focus is operational: most of the tools answer why the warehouse is slow, not just what is in it.

What you get
  • `handle_check_cluster_health` — a basic or full assessment across a set of diagnostic queries, with optional `level` and `time_window_days`
  • `handle_diagnose_locks` — current lock contention and which session is blocking which, filtered by `min_wait_seconds`
  • `handle_diagnose_query_performance` — for one `query_id`, the execution plan, its metrics and its history
  • `handle_monitor_workload` — workload patterns over a window, covering WLM, top queries and resource usage
  • `handle_inspect_table` — one table's design, storage, health and usage, including size, row counts, skew and how stale its statistics are
  • `handle_get_table_definition` — the `SHOW TABLE` DDL for a table
  • `handle_execute_ad_hoc_query` — an escape hatch for a SELECT the other tools do not cover
  • Resources for browsing without a tool call: `redshift://schemas`, `redshift://schema/{schema_name}/tables`, `redshift://wlm/configuration`, and `/scripts/{script_path}` for the raw diagnostic SQL
Requirements

An AWS account whose credentials can call the Redshift Data API and read your secret — `redshift-data:*` and `secretsmanager:GetSecretValue`. Four environment variables: `REDSHIFT_CLUSTER_ID`, `REDSHIFT_DATABASE`, `REDSHIFT_SECRET_ARN` and `AWS_REGION`, with `AWS_PROFILE` optional if you are not on default credentials. The Redshift user behind that secret needs `SELECT` on the tables you care about and on the system views the diagnostics read, including `svv_table_info`. Python 3.10+; run it with `uvx redshift-utils-mcp`. Package `redshift-utils-mcp`, MIT.

Setup effort

One command plus a key — pip install redshift-utils-mcp, then supply credentials