High Risk →

execute_query

Execute a SQL query against a Redshift cluster or serverless workgroup. This tool uses the Redshift Data API to execute SQL queries and return results. It supports both provisioned clusters and serverless workgroups, and handles various data types in the result set. ## Usage Requirements - Ens...

Accepts freeform code/query input (sql); Single-target operation

Part of the Amazon Redshift MCP Server MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

AI agents invoke execute_query to trigger processes or run actions in Amazon Redshift MCP Server. Execute operations can have side effects beyond the immediate call -- triggering builds, sending notifications, or starting workflows. Rate limits and argument validation are essential to prevent runaway execution.

execute_query can trigger processes with real-world consequences. An uncontrolled agent might start dozens of builds, send mass notifications, or kick off expensive compute jobs. Intercept enforces rate limits and validates arguments to keep execution within safe bounds.

Execute tools trigger processes. Rate-limit and validate arguments to prevent unintended side effects.

amazon-redshift-mcp-server.yaml
tools:
  execute_query:
    rules:
      - action: allow
        rate_limit:
          max: 10
          window: 60
        validate:
          required_args: true

See the full Amazon Redshift MCP Server policy for all 6 tools.

Tool Name execute_query
Category Execute
Risk Level High

Agents calling execute-class tools like execute_query have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Execute risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.

execute_query is one of the high-risk operations in Amazon Redshift MCP Server. For the full severity-focused view — only the high-risk tools with their recommended policies — see the breakdown for this server, or browse all high-risk tools across every MCP server.

What does the execute_query tool do? +

Execute a SQL query against a Redshift cluster or serverless workgroup. This tool uses the Redshift Data API to execute SQL queries and return results. It supports both provisioned clusters and serverless workgroups, and handles various data types in the result set. ## Usage Requirements - Ensure your AWS credentials are properly configured (via AWS_PROFILE or default credentials). - The cluster must be available and accessible. - Required IAM permissions: redshift-data:ExecuteStatement, redshift-data:DescribeStatement, redshift-data:GetStatementResult. - The user must have appropriate permissions to execute queries in the specified database. ## Parameters - cluster_identifier: The unique identifier of the Redshift cluster to query. IMPORTANT: Use a valid cluster identifier from the list_clusters tool. - database_name: The database name to execute the query against. IMPORTANT: Use a valid database name from the list_databases tool. - sql: The SQL statement to execute. Should be a single SQL statement. ## Response Structure Returns a QueryResult object with the following structure: - columns: List of column names in the result set. - rows: List of rows, where each row is a list of values. - row_count: Number of rows returned. - execution_time_ms: Query execution time in milliseconds. - query_id: Unique identifier for the query execution. ## Usage Tips 1. First use list_clusters to get valid cluster identifiers. 2. Then use list_databases to get valid database names for the cluster. 3. Ensure the cluster status is 'available' before executing queries. 4. Use LIMIT clauses for exploratory queries to avoid large result sets. 5. Consider using the metadata discovery tools to understand table structures before querying. ## Data Type Handling The tool automatically handles various Redshift data types: - String values (VARCHAR, CHAR, TEXT). - Numeric values (INTEGER, BIGINT, DECIMAL, FLOAT). - Boolean values. - NULL values. - Date and timestamp values (returned as strings). ## Security Considerations - Avoid dynamic SQL construction with user input. - Consider database object permissions. - Currently, the execute_query tool runs the query in a READ ONLY transaction to prevent unintentional modifications. - The READ WRITE mode will be added in the future versions with additional protection mechanisms.. It is categorised as a Execute tool in the Amazon Redshift MCP Server MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on execute_query? +

Add a rule in your Intercept YAML policy under the tools section for execute_query. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Amazon Redshift MCP Server MCP server.

What risk level is execute_query? +

execute_query is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.

Can I rate-limit execute_query? +

Yes. Add a rate_limit block to the execute_query rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block execute_query completely? +

Set action: deny in the Intercept policy for execute_query. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides execute_query? +

execute_query is provided by the Amazon Redshift MCP Server MCP server (awslabs.redshift-mcp-server). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Let agents act without letting them run wild.

Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.