Skip to main content

redash-mcp

Model Context Protocol (MCP) server for Redash - manage queries, dashboards, and visualizations through AI assistants like Claude.

Features

  • 7 tools, 30 actions - compressed for minimal context usage
  • Full query management (list, search, create, update, archive, delete, run, adhoc, export, schedule)
  • Dashboard management (list, get, create, publish, delete)
  • Widget management with positioning (add, move, delete)
  • Alert management (list, get, create, update, delete)
  • Visualization creation (pie, line, bar, counter charts)
  • Data source listing

Installation

pip install redash-mcp

Or with uvx:

uvx redash-mcp

Configuration

Environment Variables

Variable Required Description
REDASH_URL Yes Your Redash instance URL (e.g., https://redash.example.com)
REDASH_API_KEY Yes Your Redash API key
REDASH_TIMEOUT No Request timeout in seconds (default: 30)

Claude Code

Add to ~/.claude.json (user-level config):

{
  "mcpServers": {
    "redash": {
      "type": "stdio",
      "command": "uvx",
      "args": ["redash-mcp"],
      "env": {
        "REDASH_URL": "https://your-redash-instance.com",
        "REDASH_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "redash": {
      "command": "uvx",
      "args": ["redash-mcp"],
      "env": {
        "REDASH_URL": "https://your-redash-instance.com",
        "REDASH_API_KEY": "your-api-key"
      }
    }
  }
}

Or if installed via pip:

{
  "mcpServers": {
    "redash": {
      "command": "redash-mcp",
      "env": {
        "REDASH_URL": "https://your-redash-instance.com",
        "REDASH_API_KEY": "your-api-key"
      }
    }
  }
}

Tools

redash_data_sources

List all available data sources.

redash_query

Manage Redash queries.

Action Parameters Description
list page List all queries (paginated)
search q Search queries by name
get id Get query details
create name, query, data_source_id Create new query
update id, query?, name? Update existing query
archive id Archive (soft-delete) query
delete id Permanently delete query
run id, timeout? Execute query and wait for results
adhoc query, data_source_id Execute SQL without saving
export id, path Export query results to file (.csv or .json)
schedule id, interval, until? Schedule query execution (interval in seconds)

redash_dashboard

Manage Redash dashboards.

Action Parameters Description
list page List all dashboards
get id Get dashboard with widgets
create name Create new dashboard
publish id Publish dashboard (remove draft)
delete id Delete dashboard

redash_widget

Manage dashboard widgets.

Action Parameters Description
add dashboard_id, viz_id, col?, row?, sizeX?, sizeY? Add visualization with optional position
move id, col?, row?, sizeX?, sizeY? Reposition/resize a widget
delete id Remove widget from dashboard

redash_alert

Manage query alerts.

Action Parameters Description
list List all alerts
get id Get alert details
create query_id, name, column, op, value, rearm? Create alert on query result
update id, name?, rearm? Update alert settings
delete id Delete alert

redash_viz

Create visualizations.

Type Parameters Description
pie query_id, name, x, y Pie chart
line query_id, name, x, y, datetime? Line chart
bar query_id, name, x, y, stacked? Bar chart
counter query_id, name, x, suffix? Counter/KPI

Note: For multiple Y columns, pass comma-separated values: y="count,total,avg"

Examples

Create a dashboard with visualizations

1. redash_data_sources() → get data_source_id
2. redash_query(action="create", name="Daily Stats", query="SELECT ...", data_source_id=1)
3. redash_viz(type="line", query_id=123, name="Trend", x="date", y="count")
4. redash_dashboard(action="create", name="My Dashboard")
5. redash_widget(action="add", dashboard_id=456, viz_id=789)
6. redash_dashboard(action="publish", id=456)

Run ad-hoc query

redash_query(action="adhoc", query="SELECT COUNT(*) FROM users", data_source_id=1)

Export query results

redash_query(action="export", id=123, path="/tmp/results.csv")
redash_query(action="export", id=123, path="/tmp/results.json")

Search and update query

redash_query(action="search", q="daily")
redash_query(action="update", id=123, query="SELECT ... WHERE date > NOW() - INTERVAL '7 days'")

Python Library Usage

You can also use redash-mcp as a Python library:

import os
os.environ["REDASH_URL"] = "https://your-redash.com"
os.environ["REDASH_API_KEY"] = "your-key"

from redash_mcp import (
    list_queries, create_query, run_query,
    create_dashboard, publish_dashboard,
    line, bar, pie, counter,
    add_widget
)

# Create query
q = create_query("My Query", "SELECT * FROM events", data_source_id=1)

# Create visualization
viz = line(q["id"], "Events Trend", x="date", y=["count"])

# Create dashboard and add widget
d = create_dashboard("My Dashboard")
add_widget(d["id"], viz["id"])
publish_dashboard(d["id"])

Why redash-mcp?

  • Context efficient - Only 7 tools (~500 tokens) with 30 actions
  • Full-featured - Queries, dashboards, widgets, and visualizations
  • Production ready - Proper error handling and timeouts
  • Dual use - Works as MCP server and Python library

License

MIT

Metadata

Release files for redash-mcp 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for redash-mcp 0.2.4
File Size Uploaded Provenance
redash_mcp-0.2.4.tar.gz 20.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for redash-mcp 0.2.4
File Interpreter ABI Platform
redash_mcp-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 32.0 kB

Release files / redash_mcp-0.2.4.tar.gz

Download URL redash_mcp-0.2.4.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5d6f09741ba9d367a1892645cdbeaf24e799c74b4efca81e55dea666ccd8bd5c
BLAKE2b-256 checksum
How to use checksums
1bfcceea250257664237e298cae4d808b480bdab3c69c3291218cc1fb646b61e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / redash_mcp-0.2.4-py3-none-any.whl

Download URL redash_mcp-0.2.4-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
85bde6e7f5b0f7ccd8d7a4f516707eeb2cefe080672627cd7a9e7ae43f00f0e1
BLAKE2b-256 checksum
How to use checksums
bc00e06f1fac7743e36b64dd1d95b211af62de52ca215a007a5c214f1cd416d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for redash-mcp 0.2.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page