mcpField
R
redash-mcp

redash-mcp

Local
github.com/seob717Data & Analytics1Updated 3d ago

About redash-mcp

redash-mcp is a local MCP server for using Redash from AI clients. It combines SQL safety checks and guided query generation with tools for queries, charts, dashboards, and alerts.

Key features

  1. 01Run SQL with safety checks
  2. 02Generate SQL with BIRD guidance
  3. 03Manage saved queries and results
  4. 04Create charts and dashboard widgets
  5. 05Manage alerts

Use cases

  1. 01Explore Redash data with natural-language questions
  2. 02Create a chart and place it on a dashboard
  3. 03Set an alert for a metric threshold

MCP support

Exposes 25 tools to MCP clients for querying Redash data and managing saved queries, visualizations, dashboards, and alerts. It runs locally and connects directly to the Redash API.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"seob717-redash": {
"command": "npx",
"args": [
"-y",
"redash-mcp"
],
"env": {
"REDASH_URL": "<REDASH_URL>",
"REDASH_API_KEY": "<REDASH_API_KEY>",
"REDASH_SAFETY_MODE": "<REDASH_SAFETY_MODE>",
"REDASH_SAFETY_DISABLE_PII": "<REDASH_SAFETY_DISABLE_PII>",
"REDASH_SAFETY_DISABLE_COST": "<REDASH_SAFETY_DISABLE_COST>"
}
}
}
}
Run commandnpx -y redash-mcp
Environment variables to set
REDASH_URLYour Redash instance URL (e.g. https://redash.example.com)
REDASH_API_KEYSecretYour Redash user API key (found in Settings > Account)
REDASH_SAFETY_MODESQL safety mode: 'strict' blocks risky queries, 'warn' (default) returns warnings, 'off' disables guards (not recommended).
REDASH_SAFETY_DISABLE_PIISet to 'true' to disable the PII column guard. Not recommended.
REDASH_SAFETY_DISABLE_COSTSet to 'true' to disable the query cost guard. Not recommended.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmredash-mcp3.5.0

Tools

24

Saved tool list · updated 5d ago

This tool takes no parameters.

Details

From the project README

redash-mcp

npm version Downloads Node Glama Claude Cursor Gemini CLI Codex CLI

English | 한국어 | 日本語

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

Install · Tools · Env · Examples · Troubleshooting · Privacy

What's new in 3.5

  • create_visualization — create line / column / area / pie / scatter charts or counters on a saved query. If the query has been run, column names are checked against its latest result, so a typo returns an error instead of an empty chart.
  • Dashboard auto-layout — add_widget places new widgets below existing ones; half-width widgets pair up side by side (previously they all overlapped at the top-left).

Full history: Releases

Why redash-mcp?

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.
  • 🧠 BIRD Smart Query — analyzes the question, auto-selects tables, and guides SQL generation (BIRD text-to-SQL). Optional Claude Haiku fallback.
  • 📊 End-to-end — query, save, chart, dashboards, and alerts — 25 tools.
  • ⚡ One-command setup — npx redash-mcp setup configures Claude Desktop / Claude Code / Cursor / Gemini CLI / Codex CLI.
  • 🔒 Fully local — talks directly to your Redash. API key and results never leave your machine.

Installation

Requirements: Node.js 20+ and a Redash API key (Redash → Profile → Edit Profile → API Key).

npx redash-mcp setup

The wizard configures any combination of Claude Desktop, Claude Code, Cursor, Gemini CLI, and Codex CLI.

Alternatively, install Node.js, Claude Desktop, and the MCP config in one go:

curl -fsSL https://raw.githubusercontent.com/seob717/redash-mcp/main/install.sh | bash
Manual setup
  • Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json
  • Cursor — ~/.cursor/mcp.json (create it if missing)
{
  "mcpServers": {
    "redash-mcp": {
      "command": "npx",
      "args": ["-y", "redash-mcp"],
      "env": {
        "REDASH_URL": "https://your-redash-instance.com",
        "REDASH_API_KEY": "your_api_key_here"
      }
    }
  }
}

Fully quit and restart Claude Desktop after saving.

Claude Code

claude mcp add --scope user redash-mcp \
  -e REDASH_URL=https://your-redash-instance.com \
  -e REDASH_API_KEY=your_api_key_here \
  -- npx -y redash-mcp

Gemini CLI

gemini mcp add -s user \
  -e REDASH_URL=https://your-redash-instance.com \
  -e REDASH_API_KEY=your_api_key_here \
  redash-mcp npx -y redash-mcp

Codex CLI

codex mcp add redash-mcp \
  --env REDASH_URL=https://your-redash-instance.com \
  --env REDASH_API_KEY=your_api_key_here \
  -- npx -y redash-mcp

Tools

CategoryTools
Data sources & schemalist_data_sources, list_tables, get_table_columns
Queryrun_query — execute SQL and return results
Saved querieslist_queries, get_query, get_query_result (with parameter values), create_query, update_query, fork_query, archive_query
Chartscreate_visualization — line / column / area / pie / scatter / counter
Dashboardslist_dashboards, get_dashboard, create_dashboard, add_widget (auto-layout)
Alertslist_alerts, get_alert, create_alert
Smart Query (BIRD)smart_query, get_bird_config, evaluate_queries, submit_query_feedback, manage_few_shot_examples, manage_keyword_map
SQL Safety Guard

Applies to ad-hoc SQL run through run_query. Saved queries executed with get_query_result are not checked, so give the Redash data source a read-only DB account.

  • Always blocked (unless REDASH_SAFETY_MODE=off): DROP, TRUNCATE, ALTER TABLE, GRANT/REVOKE, DELETE/UPDATE without WHERE
  • Warned (warn) / blocked (strict): SELECT *, queries without WHERE or LIMIT, PII column access
  • Auto-LIMIT: appends LIMIT N when REDASH_AUTO_LIMIT is set

Details: docs/sql-safety-guard.md. Query results are also cached in memory (see REDASH_MCP_CACHE_* below).

Environment Variables

VariableDefaultDescription
REDASH_URLrequiredRedash instance URL (e.g. https://redash.example.com)
REDASH_API_KEYrequiredRedash user API key
REDASH_SAFETY_MODEwarnSQL safety level: off / warn / strict
REDASH_SAFETY_DISABLE_PIIfalseDisable PII detection
REDASH_SAFETY_DISABLE_COSTfalseDisable cost warnings
REDASH_AUTO_LIMIT0Auto-append LIMIT N to queries without one (0 = off)
REDASH_DEFAULT_MAX_AGE0Redash cache TTL in seconds
REDASH_MCP_CACHE_TTL300MCP query cache TTL in seconds (0 = off)
REDASH_MCP_CACHE_MAX_MB50Max memory for the MCP query cache, in MB
REDASH_MCP_CONFIG_DIR~/.redash-mcpWhere BIRD few-shot, feedback, eval, and keyword-map data live
REDASH_BIRD_ENABLEDtruefalse disables the BIRD smart query tools
REDASH_HTTP_TIMEOUT_SECS30Per-request HTTP timeout against the Redash API
ANTHROPIC_API_KEY—Enables the Claude Haiku fallback for table selection in smart_query

Usage Examples

Just ask in natural language:

  • "How many new users signed up this month?" → smart_query picks the tables → run_query
  • "What percentage of last week's new users made a purchase?" → smart_query guides the JOIN → run_query
  • "Create an alert when daily signups drop below 100" → create_alert

Build a dashboard: "Save a monthly revenue query, chart it as a line, and put it on a new Revenue dashboard."

  1. create_query — save "Monthly Revenue"
  2. get_query_result — run it once so the chart columns can be checked
  3. create_visualization — type: "line", x_column: "month", y_columns: ["revenue"]
  4. create_dashboard — create "Revenue"
  5. add_widget — place the chart; more widgets stack below or pair side by side

Troubleshooting

SymptomFix
npx not found (macOS GUI apps)Run which npx and use the full path as command
"Authentication failed"Check REDASH_API_KEY — it must be a user API key
"Unable to connect to the Redash server"Check REDASH_URL (base URL with https://, without /api) and network/VPN
"The query timed out"Simplify the query or pass a larger timeout_secs to run_query / get_query_result; raise REDASH_HTTP_TIMEOUT_SECS for slow API responses
Query blocked by the safety guardAdd WHERE/LIMIT; in strict mode, switch to REDASH_SAFETY_MODE=warn to get warnings instead
Tools don't show upFully restart the client after editing its config

Development

npm install
npm run dev     # run from source (tsx)
npm test        # vitest
npm run build   # typecheck + bundle to dist/

Privacy Policy

redash-mcp is a local MCP server that talks directly to your Redash instance. No intermediate servers are involved.

ItemDescription
Redash API KeyStored only as a local environment variable (REDASH_API_KEY). Never transmitted externally.
Query content & resultsDelivered only to the local MCP client via the MCP protocol.
BIRD SQL settingsStored only in local files (~/.redash-mcp/): few-shot examples, keyword maps, and feedback.
LLM FallbackOnly when ANTHROPIC_API_KEY is set, smart_query sends table names, column names, and the question text to the Anthropic API. Query results and row data are never transmitted.

We do not sell or share user data with third parties.

Retention: config files stay in ~/.redash-mcp/ until you delete them; the query cache is in-memory and cleared on shutdown; the schema cache is in-memory with a 10-minute TTL.

Contact: inquiries and security reports via GitHub Issues.

Disclaimer

redash-mcp is an unofficial, community-built integration and is not affiliated with, endorsed by, or sponsored by Redash. "Redash" is a trademark of its respective owners and is used here only to describe compatibility. This project communicates with Redash solely through its public REST API.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.