MCP.Market

Redash MCP server

by seob717·io.github.seob717/redash-mcp·v3.5.0·1 stars

Connect Redash to Claude -- query data, manage dashboards, and run SQL with natural language.

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
Growing

1 stars3.5k downloads/wk

Reviews

Write one

Nobody has reviewed Redash yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Redash tools (25, 8 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add_widget

    Add a saved query's visualization onto a dashboard as a widget. Behavior: places the widget below the existing ones (half-width widgets pair up side by side) and returns its id and dashboard_id. Usage: get the dashboard_id from list_dashboards or create_dashboard, and the visualization_id from get_query (each saved query exposes its visualizations) or from create_visualization for a new chart. Thi

  • archive_query

    Archive a saved query, removing it from active query lists. This is Redash's form of deletion and cannot be undone through the API, so confirm with the user before calling it. Behavior: archives the query and returns a confirmation message. Usage: find the query_id with list_queries.

  • create_alertwrite action

    Create an alert that watches a saved query and fires when a chosen result column crosses a threshold (e.g., daily_signups less than 10). Behavior: creates the alert and returns its id and name. Usage: get the query_id from list_queries and confirm the exact column name with get_query / get_query_result first. The alert evaluates the query's latest result on Redash's schedule.

  • create_dashboardwrite action

    Create a new, empty dashboard. Behavior: creates the dashboard and returns its id, name, and slug. Usage: after creating it, populate it with charts using add_widget, passing visualization ids obtained from get_query or create_visualization. To list or inspect existing dashboards instead, use list_dashboards / get_dashboard.

  • create_querywrite action

    Save a new named SQL query to Redash so it can be reused, scheduled, visualized, or added to a dashboard. Behavior: creates the query and returns its new id, name, and created_at. Usage: get the data_source_id from list_data_sources and verify the SQL runs with run_query first; to change an existing query use update_query instead. Note: this only saves the query \u2014 use get_query_result to exec

  • create_visualizationwrite action

    Create a chart (line, column, area, pie, scatter) or counter on a saved query, so it can be shown in Redash and placed on a dashboard. Behavior: creates the visualization and returns its id. Usage: save the SQL with create_query first; column names must exactly match the query's result columns (run get_query_result to see them). Then call add_widget with the returned id to put the chart on a dashb

  • evaluate_queries

    Build and run an accuracy test suite for SQL generation on a data source. Behavior: action 'add_test' stores a question paired with ground-truth SQL; 'list_tests' shows them; 'remove_test' deletes one; 'run' scores generated SQL against the test cases; 'results' shows the latest run. Usage: use this to measure whether keyword maps and few-shot examples actually improve smart_query accuracy over ti

  • fork_query

    Fork (duplicate) an existing saved query into a new, independently editable copy, leaving the original unchanged. Behavior: creates the copy and returns its new id and name. Usage: find the query_id to fork with list_queries; use this when you want to experiment with or adapt a query without modifying the original.

  • get_alert

    Get the full detail of a single alert. Behavior: returns the alert's id, name, current state, last_triggered_at, threshold options (column, operator, value), and the query it monitors (id, name, description, data_source_id). Usage: find the alert_id with list_alerts.

  • get_bird_config

    View BIRD SQL configuration and status.

  • get_dashboard

    Get a dashboard's full layout. Behavior: returns the dashboard's id, name, slug, and every widget, each with its linked visualization (id, name, type) and the query behind it (id, name). Usage: find the dashboard id or slug with list_dashboards; use the returned visualization/query ids to understand or extend the dashboard with add_widget.

  • get_query

    Get the full definition of a saved query. Behavior: returns the query's SQL text, data_source_id, tags, owner, update time, its parameters (name, type, default value, dropdown options), and its visualizations (each with id, name, type). Usage: find the query_id with list_queries. The returned visualization ids can be placed on a dashboard with add_widget; to actually run the query use get_query_re

  • get_query_resultwrite action

    Run an existing saved query by its ID and return the latest results. Behavior: executes the query as stored in Redash and returns up to max_rows rows as a markdown table or JSON, with the column list and a truncation note. Usage: find the query_id with list_queries or get_query. If the query has parameters ({{ name }} placeholders), call get_query first to see their names, types, and allowed value

  • get_table_columns

    Get the column names and data types for one or more tables in a data source. Accepts a single table or a comma-separated list of tables. Use this to confirm exact column names and types before writing SQL with run_query or smart_query. Returns each table's columns; if a table name is not found, it suggests verifying it with list_tables.

  • list_alerts

    List all alerts configured in Redash. Behavior: returns an array where each alert has id, name, current state (ok / triggered / unknown), last_triggered_at, its linked query (id, name), and threshold options. Usage: use this to discover alert_ids, then call get_alert for one alert's full detail, or create_alert to add a new one.

  • list_dashboards

    List dashboards in Redash, most recently updated first. Behavior: returns a paginated array where each item has id, name, slug, and created/updated timestamps. Usage: use this to discover a dashboard's id or slug, then call get_dashboard to inspect its widgets and visualizations, or create_dashboard to make a new one. Supports keyword search and pagination.

  • list_data_sources

    List connected data sources (id, name, type). Call this first to get data_source_id.

  • list_queries

    List saved (named) queries in Redash, most recently updated first. Behavior: returns a paginated array where each item has id, name, description, data_source_id, and updated_at. Usage: use this to discover query_ids, then call get_query for a query's full SQL and visualizations, or get_query_result to run it. Supports keyword search and pagination; for ad-hoc SQL that isn't saved, use run_query in

  • list_tables

    List tables in a data source. Use keyword to filter by name. Verify table names here before writing SQL.

  • manage_few_shot_examples

    Manage the few-shot examples that smart_query uses to generate more accurate SQL. Behavior: action 'list' returns all stored examples with their ids; 'add' saves a new example (requires the example object); 'remove' deletes one (requires example_id). Each example pairs a natural-language question with the correct SQL and the tables it uses, teaching the model your schema's domain conventions. Usag

  • manage_keyword_map

    Manage keyword-to-table-name mappings. After inspecting the schema with list_tables, register domain-specific mappings to improve smart_query table-matching accuracy. e.g., {"revenue": ["payment"], "creator": ["creator"]}

  • run_querywrite action

    Execute an ad-hoc SQL query against a data source and return the resulting rows. Every query passes through the SQL safety guard, which blocks destructive statements (DROP/TRUNCATE/ALTER, DELETE/UPDATE without WHERE) and flags PII columns and expensive full scans; results are cached in memory. Behavior: returns up to max_rows rows as a markdown table or JSON, with the column list and a truncation

  • smart_query

    BIRD SQL-based intelligent query tool. Analyzes natural-language questions to (1) extract relevant schema, (2) match similar few-shot examples, (3) assess complexity, (4) request clarification for ambiguous questions. Call this tool before run_query. For a new data source, first inspect the schema with list_tables, then register keyword-to-table mappings via manage_keyword_map to significantly imp

  • submit_query_feedbackwrite action

    Record whether the SQL produced for a question was correct, so smart_query improves over time. Behavior: stores an up/down rating; when you rate 'down' and supply the correct SQL, the error is classified and, if the same kind of mistake recurs, automatically promoted into a few-shot example. Returns the feedback id and any error type or promotion. Usage: call after reviewing smart_query/run_query

  • update_querywrite action

    Update fields of an existing saved query. Behavior: only the fields you pass are changed (name, SQL, description, or tags); any omitted field is left untouched. Returns the query's id, name, and updated_at. Usage: find the query_id with list_queries or get_query; to create a brand-new query instead, use create_query.

Public scan report

scanner v0.1.10 · 2026-10-29 · same rubric, same numbers if you re-run it

1 medium
  • Code scan5 source files scanned20/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 4 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10

Findings (1)

  • mediumeval / new Function usedexec.eval
    dist/index.js: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Redash compares

Against every graded Databases MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
75/100
higher than 35% of 802 Databases servers
Tools
25
the typical Databases server has 8
Tools that change things
32%
typical: 9%. Fewer write tools means less an agent can break
GitHub stars
1
more than 45% of 602 Databases servers
Downloads a week
3,474
more than 95% of 330 Databases servers with a package

What its tools let an agent do: 13 read · 6 create · 3 change · 1 delete · 2 run or deploy

Release history: 2 versions in the registry since 2026-09-01, latest 2026-10-23, typically one every 52 days.

Install Redash in Claude Code, Cursor or VS Code

Runs npx -y redash-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add redash-mcp -- npx -y redash-mcp
Add to Cursor

What the publisher says

From the Redash repository's README, as published. We do not edit it. Read it on GitHub

redash-mcp

English | 한국어 | 日本語

MCP server that connects Redash to Claude, Cursor, Gemini CLI, Codex, and any MCP client — query data, manage dashboards, and run SQL with natural language.

Why · Features · Install · Env · Examples · Privacy

Why redash-mcp?

There are several Redash MCP servers. This one is built for letting an LLM touch production data safely:

  • 🛡️ SQL Safety Guard — blocks DROP/TRUNCATE/ALTER and DELETE/UPDATE without WHERE; strict/warn/off modes, PII detection, and auto-LIMIT. Hand Claude your real Redash without flinching.
  • 🧠 BIRD Smart Query — analyzes the question, auto-selects the right tables, and guides SQL generation (based on the BIRD text-to-SQL methodology). Optional Claude Haiku fallback for table selection.
  • ⚡ One-command setup — npx redash-mcp setup configures Claude Desktop / Claude Code / Cursor / Gemini CLI / Codex CLI for you. No hand-editing JSON.
  • 🔒 Fully local — talks directly to your Redash instance. API key and query results never leave your machine.
  • 📊 End-to-end — query, save, fork, dashboards, widgets, and alerts — 20+ tools across 6 categories.

Features

Tools

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Redash: common questions

Is Redash MCP server safe?
Mostly: it is graded B (75/100). Read the Redash safety report
How do I install Redash?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Redash need an API key?
Yes. The registry entry asks for REDASH_API_KEY.
Is Redash maintained?
The last commit was 11 days ago (2026-10-26). The latest release is v3.5.0.
What can I use instead of Redash?
Servers from other publishers that do the same job: Metabase AI Assistant MCP server, Greptimedb MCP server and Showboard MCP server. Compare all Redash alternatives.
How does Redash compare with other Databases MCP servers?
safety score 75/100 (higher than 35% of 802 Databases servers); tools 25 (the typical Databases server has 8); tools that change things 32% (typical: 9%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Redash

Same job from other publishers: the closest match first, then the best rated.

All Redash alternatives →
  • Metabase AI Assistant
    MCP Server for Metabase - 111 tools for SQL generation, dashboards & PostgreSQL
    B
  • Greptimedb
    Query GreptimeDB metrics, logs and traces with SQL, TQL and RANGE. Manage pipelines and dashboards.
    A
  • Showboard
    Your coding agent answers with dashboards: charts and tables from read-only SQL, Excel and CSV.
    B
  • DBHub
    Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
    A
  • Motherduck
    SQL analytics and data engineering for AI Assistants and IDEs
    A