Redshift Utils MCP MCP Server

This project implements a Model Context Protocol (MCP) server designed specifically to interact with Amazon Redshift databases.

Local serverstdioPython

What is the Redshift Utils MCP MCP server?

Redshift Utils MCP MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. This project implements a Model Context Protocol (MCP) server designed specifically to interact with Amazon Redshift databases.

What you get

  • Secure Redshift Connection (via Data API): Connects to your Amazon Redshift cluster using the AWS Redshift Data API via Boto3, leveraging AWS Secrets Manager for credentials managed securely via environment variables
  • 🔍 Schema Discovery: Exposes MCP resources for listing schemas and tables within a specified schema
  • 📊 Metadata & Statistics: Provides a tool (handle_inspect_table) to gather detailed table metadata, statistics (like size, row counts, skew, stats staleness), and maintenance status
  • 📝 Read-Only Query Execution: Offers a secure MCP tool (handle_execute_ad_hoc_query) to execute arbitrary SELECT queries against the Redshift database, enabling data retrieval based on LLM requests
  • 📈 Query Performance Analysis: Includes a tool (handle_diagnose_query_performance) to retrieve and analyze the execution plan, metrics, and historical data for a specific query ID
  • 🔍 Table Inspection: Provides a tool (handle_inspect_table) to perform a comprehensive inspection of a table, including design, storage, health, and usage

What the assistant can call

Once Redshift Utils MCP is connected, these are the calls the assistant has available:

  • handle_check_cluster_health — Performs a health assessment of the Redshift cluster using a set of diagnostic SQL scripts
  • handle_diagnose_locks — Identifies active lock contention and blocking sessions in the cluster
  • handle_diagnose_query_performance — Analyzes a specific query's execution performance, including plan, metrics, and historical data
  • handle_execute_ad_hoc_query — Executes an arbitrary SQL query provided by the user via Redshift Data API. Designed as an escape hatch
  • handle_get_table_definition — Retrieves the DDL (Data Definition Language) statement (SHOW TABLE) for a specific table
  • handle_inspect_table — Retrieves detailed information about a specific Redshift table, covering design, storage, health, and usage
  • handle_monitor_workload — Analyzes cluster workload patterns over a specified time window using various diagnostic scripts

Configuration and credentials

You will need 6 environment variables: REDSHIFT_CLUSTER_ID, REDSHIFT_DATABASE, REDSHIFT_SECRET_ARN, AWS_REGION, AWS_PROFILE, AWS_DEFAULT_REGION. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Software: * Python 3.10+ * uv (recommended package manager) or pip Infrastructure & Access: * Access to an Amazon Redshift cluster. * An AWS account with permissions to use the Redshift Data API (redshift-data:*) and access the specified Secrets Manager secret (secretsmanager:GetSecretValue). * A Redshift user account whose credentials are stored in AWS Secrets Manager. This user needs

Setting it up

redshift-utils-mcp on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Choosing this one

Among the database access options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Redshift Utils MCP's toolset — handle_check_cluster_health, handle_diagnose_locks, handle_diagnose_query_performance and 4 more — is a fair guide to whether it matches your workflow. It is maintained by vinodismyname; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the redshift utils mcp mcp server does with a few real requests.

Available tools

ToolWhat it does
handle_check_cluster_healthPerforms a health assessment of the Redshift cluster using a set of diagnostic SQL scripts.
handle_diagnose_locksIdentifies active lock contention and blocking sessions in the cluster.
handle_diagnose_query_performanceAnalyzes a specific query's execution performance, including plan, metrics, and historical data.
handle_execute_ad_hoc_queryExecutes an arbitrary SQL query provided by the user via Redshift Data API. Designed as an escape hatch.
handle_get_table_definitionRetrieves the DDL (Data Definition Language) statement (SHOW TABLE) for a specific table.
handle_inspect_tableRetrieves detailed information about a specific Redshift table, covering design, storage, health, and usage.
handle_monitor_workloadAnalyzes cluster workload patterns over a specified time window using various diagnostic scripts.

How to install the Redshift Utils MCP MCP server

{
  "mcpServers": {
    "redshift-utils": {
      "command": "uvx",
      "args": ["redshift-utils-mcp"],
      "env": {
        "REDSHIFT_CLUSTER_ID": "your-value",
        "REDSHIFT_DATABASE": "your-value",
        "REDSHIFT_SECRET_ARN": "your-value",
        "AWS_REGION": "your-value",
        "AWS_PROFILE": "your-value",
        "AWS_DEFAULT_REGION": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

Software: * Python 3.10+ * uv (recommended package manager) or pip Infrastructure & Access: * Access to an Amazon Redshift cluster. * An AWS account with permissions to use the Redshift Data API (redshift-data:*) and access the specified Secrets Manager secret (secretsmanager:GetSecretValue). * A Redshift user account whose credentials are stored in AWS Secrets Manager. This user needs

VariableDescriptionRequired
REDSHIFT_CLUSTER_IDConfiguration value read at startup.Optional
REDSHIFT_DATABASEConfiguration value read at startup.Optional
REDSHIFT_SECRET_ARNCredential the server authenticates with.Yes
AWS_REGIONConfiguration value read at startup.Optional
AWS_PROFILEConfiguration value read at startup.Optional
AWS_DEFAULT_REGIONConfiguration value read at startup.Optional

Example prompts to try

  • Use Redshift Utils MCP to handle check cluster health.
  • Use Redshift Utils MCP to handle diagnose locks.
  • Use Redshift Utils MCP to handle diagnose query performance.

Frequently asked questions

It connects Redshift Utils MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 7 tools (handle_check_cluster_health, handle_diagnose_locks, handle_diagnose_query_performance, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Redshift Utils MCP directly.