Skip to main content
Glama

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

Related MCP server: redash-mcp

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

Available Tools

6 tools
redash_alertB

Manage Redash alerts. Actions: list, get, create, update, delete

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
idNoAlert ID (for get/update/delete)
query_idNoQuery ID (for create)
nameNoAlert name (for create/update)
columnNoColumn to monitor (for create)
opNoCondition operator (for create)
valueNoThreshold value (for create)
rearmNoSeconds before re-triggering (for create/update)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the brief description does not disclose behavioral traits such as authentication requirements, rate limits, side effects of delete/update, or error handling. For a multi-action tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, front-loading the core purpose and action list. It is efficient with words, but could benefit from brief structuring around actions for improved readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 8 parameters and multiple actions, the description lacks context on return values for each action, prerequisites, or default behavior. Schema coverage helps but the description alone is incomplete for safe autonomous use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (88%), so the parameter semantics are mostly documented by the schema. The description adds no extra parameter information beyond repeating the action names, which are already enumerated in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Manage Redash alerts' and lists all five actions (list, get, create, update, delete), clearly indicating the tool's purpose and distinguishing it from sibling tools that manage other Redash entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only lists possible actions without providing guidance on when to use each action or when to prefer this tool over alternatives. No context is given for selection, leaving the agent to infer from schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

redash_dashboardC

Manage Redash dashboards. Actions: list, get, create, publish, delete

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
idNoDashboard ID
nameNoDashboard name (for create)
pageNo
page_sizeNoResults per page (default 10, max 250)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description does not disclose behavioral traits such as destructive effects (e.g., delete), authorization needs, or rate limits. The actions imply different behaviors but are not explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and concise, but it lacks structure. It is a single sentence listing actions, which is efficient yet insufficient for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, no output schema, and no behavioral details, the description is incomplete. It does not explain return values, action-specific requirements, or interactions between parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds little beyond the schema: it lists actions but does not clarify which parameters apply to each action (e.g., id required for get, publish, delete). With 60% schema description coverage, the description does not compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it manages Redash dashboards and lists five specific actions (list, get, create, publish, delete), clearly indicating the verb and resource. It distinguishes from sibling tools (redash_alert, etc.) by focusing on dashboards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives or when not to use it. The description only enumerates actions without clarifying contexts or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

redash_data_sourcesB

List all available data sources

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as authentication requirements, pagination, or whether it returns metadata. The tool is a simple list but lacks necessary transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the action and resource. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, output schema, or annotations, the description is adequate for understanding the basic purpose. However, it lacks any additional context like authentication or output format, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the schema is complete. The description adds no extra meaning but is sufficient for an empty parameter list. Baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all available data sources' clearly states the verb (List) and resource (data sources). It distinguishes from sibling tools like redash_query or redash_dashboard which have different scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. The description implies a straightforward listing but does not address exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

redash_queryC

Manage Redash queries. Actions: list, search, get, create, update, archive, delete, run, adhoc, export, schedule

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
idNoQuery ID (for get/update/archive/delete/run/export)
qNoSearch term (for search)
nameNoQuery name (for create)
queryNoSQL or MongoDB JSON query (for create/update/adhoc). For MongoDB, use JSON format e.g. {"collection": "my_col", "query": {"field": "value"}, "limit": 50, "sort": [{"name": "field", "direction": -1}]}
data_source_idNoData source ID
max_rowsNoMax rows to return for adhoc queries (default 200, prevents huge responses)
pageNo
page_sizeNoResults per page (default 10, max 250)
pathNoFile path to export results (for export). Supports .csv and .json
intervalNoSchedule interval in seconds (for schedule). e.g. 300=5min, 3600=1hr, 86400=daily
untilNoSchedule end datetime ISO format (for schedule, optional)

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as side effects of delete/archive, synchronous vs asynchronous run, authentication needs, or rate limits. The description is silent on these critical aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences) and front-loaded with the purpose. However, it is terse and could benefit from grouping or examples. Still, it is efficient with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (12 parameters, many actions, no output schema, no annotations), the description is incomplete. It does not explain return values, error handling, or action-specific behaviors like scheduling or exporting. Considerable gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (83%), so the baseline is 3. The description adds some context for the query parameter (MongoDB JSON format) and max_rows (default, prevents huge responses) but overall adds minimal value beyond the schema. The main description only lists actions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Manage Redash queries' which is generic, and then lists actions. It conveys the general domain but lacks specificity about what the tool does as a whole. It does not differentiate from sibling tools like redash_alert or redash_dashboard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. No when-not-to-use, prerequisites, or exclusions are mentioned. It merely lists possible actions without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

redash_vizC

Create visualizations. Types: pie, line, bar, counter

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
query_idYes
nameYes
xNoX-axis column
yNoY column(s) - comma separated for multiple
datetimeNoX-axis is datetime (for line)
stackedNoStacked bars (for bar)
suffixNoSuffix (for counter)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only says 'Create visualizations' without detailing side effects, permissions, idempotency, or limitations. Does not reveal that some parameters (datetime, stacked, suffix) are type-specific.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence. However, it front-loads the main purpose and lists types efficiently. Could be slightly improved by grouping type-specific parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters and no output schema, the description is too brief. Doesn't explain that datetime/stacked/suffix are only relevant for certain types, nor what the tool returns (e.g., visualization ID). Missing key context for proper invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is ~63% (5 of 8 params described). The description merely repeats the type enum already in schema. Does not clarify query_id (e.g., must exist) or name (e.g., unique?). No additional value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Create visualizations' and lists supported types (pie, line, bar, counter). Sibling tools (alerts, dashboards, etc.) are distinct, making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Doesn't mention prerequisites (e.g., existing query_id) or situations where other tools (like redash_query) might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

redash_widgetA

Manage dashboard widgets. Actions: add, move, delete

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
idNoWidget ID (for move/delete)
dashboard_idNoDashboard ID (for add)
viz_idNoVisualization ID (for add)
colNoColumn position 0-5 (for add/move)
rowNoRow position (for add/move)
sizeXNoWidth in grid units 1-6 (for add/move)
sizeYNoHeight in grid units (for add/move)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool performs add, move, and delete operations, implying mutation, but lacks details on reversibility, permissions, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—one sentence—and front-loads the core purpose. It is efficient, though slightly terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no output schema), the description is minimal. It omits return values, error cases, and any usage context, leaving the agent with insufficient information for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (88%), so the schema already documents parameter purposes. The description adds some context by grouping parameters by action (e.g., 'for add/move'), but does not provide significant additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Manage dashboard widgets' and lists specific actions (add, move, delete), using a verb+resource pattern that distinguishes it from sibling tools like redash_dashboard or redash_query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by listing actions but provides no explicit guidance on when to use this tool versus alternatives. For example, it does not mention that to create a dashboard one should use redash_dashboard instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.2.3
    • First observedredash_alert
    • First observedredash_dashboard
    • First observedredash_data_sources
    • First observedredash_query
    • First observedredash_viz
    • First observedredash_widget

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct Redash entity (alert, dashboard, data source, query, viz, widget) with clearly separate purposes, no ambiguity for an agent.

Naming Consistency5/5

All tools follow a consistent 'redash_<resource>' pattern with snake_case; the slight plural in 'data_sources' does not break the pattern.

Tool Count5/5

6 tools cover the main Redash resources without being overwhelming or too sparse, well-scoped for the domain.

Completeness4/5

Covers CRUD for alerts, dashboards, queries, and widgets, and lists data sources. Missing update/delete for visualizations is a minor gap.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Model Context Protocol (MCP) server that integrates Redash with AI assistants like Claude, allowing them to query data, manage visualizations, and interact with dashboards through natural language.
    67
    2,857
    101
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that connects Redash to Claude AI, enabling natural language data queries, dashboard management, and SQL execution.
    24
    385
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Model Context Protocol (MCP) server that gives AI assistants a safe, correct data-analyst capability over business metrics - without raw SQL improvisation.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wise-toddler/redash-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server