Redash MCP server
io.github.seob717/redash-mcp·v3.5.0·1 starsConnect Redash to Claude -- query data, manage dashboards, and run SQL with natural language.
1 stars3.5k downloads/wk
Reviews
Write oneNobody 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 postsRead from the package source without running it. The installed server may list more.
add_widgetAdd 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_queryArchive 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 actionCreate 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 actionCreate 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 actionSave 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 actionCreate 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_queriesBuild 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_queryFork (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_alertGet 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_configView BIRD SQL configuration and status.
get_dashboardGet 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_queryGet 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 actionRun 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_columnsGet 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_alertsList 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_dashboardsList 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_sourcesList connected data sources (id, name, type). Call this first to get data_source_id.
list_queriesList 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_tablesList tables in a data source. Use keyword to filter by name. Verify table names here before writing SQL.
manage_few_shot_examplesManage 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_mapManage 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 actionExecute 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_queryBIRD 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 actionRecord 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 actionUpdate 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
- 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 used
exec.evaldist/index.js: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…
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
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.
- Metabase AI AssistantMCP Server for Metabase - 111 tools for SQL generation, dashboards & PostgreSQLnot reviewedGrowingB
- GreptimedbQuery GreptimeDB metrics, logs and traces with SQL, TQL and RANGE. Manage pipelines and dashboards.not reviewedGrowingA
ShowboardYour coding agent answers with dashboards: charts and tables from read-only SQL, Excel and CSV.not reviewedGrowingB- DBHubToken-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLitenot reviewedWidely usedA
- MotherduckSQL analytics and data engineering for AI Assistants and IDEsnot reviewedEstablishedA