io.github.seob717/redash-mcp
Connect Redash to Claude -- query data, manage dashboards, and run SQL with natural language.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
redash-mcpclaude mcp add redash-mcp -e 'REDASH_URL=<REDASH_URL>' -e 'REDASH_API_KEY=<your redash_api_key>' -e 'REDASH_SAFETY_MODE=warn' -e 'REDASH_SAFETY_DISABLE_PII=false' -e 'REDASH_SAFETY_DISABLE_COST=false' -- npx -y redash-mcp@3.5.0
{
"mcpServers": {
"redash-mcp": {
"command": "npx",
"args": [
"-y",
"redash-mcp@3.5.0"
],
"env": {
"REDASH_URL": "<REDASH_URL>",
"REDASH_API_KEY": "<your redash_api_key>",
"REDASH_SAFETY_MODE": "warn",
"REDASH_SAFETY_DISABLE_PII": "false",
"REDASH_SAFETY_DISABLE_COST": "false"
}
}
}
}
Variables d'environnement
REDASH_URLobligatoire Your Redash instance URL (e.g. https://redash.example.com)REDASH_API_KEYobligatoire secret Your 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.
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
redash-mcp
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_widgetplaces 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/ALTERandDELETE/UPDATEwithoutWHERE;strict/warn/offmodes, 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 setupconfigures 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
| Category | Tools |
|---|---|
| Data sources & schema | list_data_sources, list_tables, get_table_columns |
| Query | run_query — execute SQL and return results |
| Saved queries | list_queries, get_query, get_query_result (with parameter values), create_query, update_query, fork_query, archive_query |
| Charts | create_visualization — line / column / area / pie / scatter / counter |
| Dashboards | list_dashboards, get_dashboard, create_dashboard, add_widget (auto-layout) |
| Alerts | list_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/UPDATEwithoutWHERE - Warned (
warn) / blocked (strict):SELECT *, queries withoutWHEREorLIMIT, PII column access - Auto-LIMIT: appends
LIMIT NwhenREDASH_AUTO_LIMITis set
Details: docs/sql-safety-guard.md. Query results are also cached in memory (see REDASH_MCP_CACHE_* below).
Environment Variables
| Variable | Default | Description |
|---|---|---|
REDASH_URL | required | Redash instance URL (e.g. https://redash.example.com) |
REDASH_API_KEY | required | Redash user API key |
REDASH_SAFETY_MODE | warn | SQL safety level: off / warn / strict |
REDASH_SAFETY_DISABLE_PII | false | Disable PII detection |
REDASH_SAFETY_DISABLE_COST | false | Disable cost warnings |
REDASH_AUTO_LIMIT | 0 | Auto-append LIMIT N to queries without one (0 = off) |
REDASH_DEFAULT_MAX_AGE | 0 | Redash cache TTL in seconds |
REDASH_MCP_CACHE_TTL | 300 | MCP query cache TTL in seconds (0 = off) |
REDASH_MCP_CACHE_MAX_MB | 50 | Max memory for the MCP query cache, in MB |
REDASH_MCP_CONFIG_DIR | ~/.redash-mcp | Where BIRD few-shot, feedback, eval, and keyword-map data live |
REDASH_BIRD_ENABLED | true | false disables the BIRD smart query tools |
REDASH_HTTP_TIMEOUT_SECS | 30 | Per-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_querypicks the tables →run_query - "What percentage of last week's new users made a purchase?" →
smart_queryguides 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."
create_query— save "Monthly Revenue"get_query_result— run it once so the chart columns can be checkedcreate_visualization—type: "line",x_column: "month",y_columns: ["revenue"]create_dashboard— create "Revenue"add_widget— place the chart; more widgets stack below or pair side by side
Troubleshooting
| Symptom | Fix |
|---|---|
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 guard | Add WHERE/LIMIT; in strict mode, switch to REDASH_SAFETY_MODE=warn to get warnings instead |
| Tools don't show up | Fully 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.
| Item | Description |
|---|---|
| Redash API Key | Stored only as a local environment variable (REDASH_API_KEY). Never transmitted externally. |
| Query content & results | Delivered only to the local MCP client via the MCP protocol. |
| BIRD SQL settings | Stored only in local files (~/.redash-mcp/): few-shot examples, keyword maps, and feedback. |
| LLM Fallback | Only 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
Questions fréquentes
Qu'est-ce que io.github.seob717/redash-mcp ?
Connect Redash to Claude -- query data, manage dashboards, and run SQL with natural language.
Comment installer io.github.seob717/redash-mcp ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add redash-mcp -e 'REDASH_URL=<REDASH_URL>' -e 'REDASH_API_KEY=<your redash_api_key>' -e 'REDASH_SAFETY_MODE=warn' -e 'REDASH_SAFETY_DISABLE_PII=false' -e 'REDASH_SAFETY_DISABLE_COST=false' -- npx -y redash-mcp@3.5.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.seob717/redash-mcp ?
Oui. Il attend REDASH_URL, REDASH_API_KEY, à renseigner dans sa configuration.
io.github.seob717/redash-mcp est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.seob717/redash-mcp ?
Il est publié par seob717. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.