Skip to main content

Model Context Protocol (MCP) server for Redash - manage queries, dashboards, and visualizations

Project description

redash-mcp

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

Features

  • 5 tools, 22 actions - compressed for minimal context usage
  • Full query management (list, search, create, update, archive, delete, run, adhoc)
  • Dashboard management (list, get, create, publish, delete)
  • Widget management (add, 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 Desktop

Add to ~/.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

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 Add visualization to dashboard
delete id Remove widget from dashboard

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)

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 5 tools (~400 tokens) with 22 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redash_mcp-0.1.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

redash_mcp-0.1.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file redash_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: redash_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for redash_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c0f28a8a4e74e77e8d573c5ab94482a61d4a601a0df96ab957533aa7b57b173b
MD5 d5243a25a5a77bc28a241241c589398c
BLAKE2b-256 960ff8142d073418a96c9d63e68d026f72a5bfa02dfb33f6bc8d9f40e537fab4

See more details on using hashes here.

File details

Details for the file redash_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: redash_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for redash_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e0285ff12a652cebfc425062e31e0be6ff71069ad8cd954c51a30b3d0c495c63
MD5 758e4cb8e1f69ed37523e6ac99943c04
BLAKE2b-256 b6a061619662f9d5cac33df58ded95c296fb985370cb6bcff156e8693b7a4854

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page