Skip to main content
Glama

redash-mcp

Redash REST API を読み取り専用でラップする MCP サーバ。唯一の例外として 保存済みクエリの実行(POST /api/queries/{id}/results)のみ許可する。

ツール

  • list_queries(q?, page, page_size) — クエリ一覧・検索

  • get_query(query_id) — クエリ詳細(api_key は秘匿)

  • execute_query(query_id, parameters?, max_age) — クエリ実行 → 行データ

  • list_data_sources() — データソース一覧

  • get_data_source_schema(data_source_id) — スキーマ

  • list_dashboards(q?, page, page_size) — ダッシュボード一覧・検索

  • get_dashboard(identifier) — ダッシュボード詳細(id または slug)

Related MCP server: redash-mcp

設定(環境変数)

変数

必須

既定(プロセス)

用途

REDASH_URL

✅

—

例 http://redash。常にサーバサイド。

REDASH_API_KEY

stdioで必須

—

既定APIキー。HTTPはX-REDASH-API-KEYで上書き可。

REDASH_MCP_TRANSPORT

stdio

stdio / streamable-http。CLI --transport。

REDASH_MCP_HOST

127.0.0.1

http バインドホスト。CLI --host。

REDASH_MCP_PORT

8000

http ポート。CLI --port。

REDASH_MCP_ALLOWED_HOSTS

(なし)

許可 Host(カンマ区切り)。ポートは含めない(例 redash-mcp,localhost)。照合時にポートは無視される。

REDASH_TIMEOUT

30

HTTP タイムアウト秒

REDASH_POLL_TIMEOUT

60

ジョブ待機の上限秒

REDASH_MAX_ROWS

1000

返却行数の上限

実行

ローカル(uv):

uv run redash-mcp                                             # stdio
uv run redash-mcp --transport streamable-http --host 127.0.0.1 --port 8000

Docker(既定で streamable-http / 0.0.0.0:8000):

docker run --rm -p 8000:8000 \
  -e REDASH_URL=http://redash -e REDASH_API_KEY=xxxx redash-mcp

streamable-http でネットワーク公開する場合は DNS リバインディング対策として REDASH_MCP_ALLOWED_HOSTS を設定することを推奨。

LibreChat 連携

各ユーザーが自分の Redash API キーを持てる(X-REDASH-API-KEY ヘッダ)。 REDASH_URL はサーバ側で固定し、REDASH_API_KEY(サーバ既定キー)は設定しない。 各リクエストの X-REDASH-API-KEY ヘッダを実効キーとする。

1. LibreChat の mcpServers 設定

redash:
  type: "streamable-http"
  url: "http://redash-mcp:8000/mcp"
  headers:
    X-REDASH-API-KEY: "{{REDASH_API_KEY}}"
  customUserVars:
    REDASH_API_KEY:
      title: "Redash API Key"
      description: "Redash の [ユーザー設定] から発行した API キー"

2. docker-compose(LibreChat と同一ネットワークに接続)

コンテナは LibreChat と同じ Docker ネットワークに置き、REDASH_MCP_ALLOWED_HOSTS で許可 Host を絞る。ホストへのポート公開は不要(LibreChat から内部ネットワーク 経由で http://redash-mcp:8000/mcp に接続する)。

services:
  redash-mcp:
    image: redash-mcp
    build: .
    environment:
      REDASH_URL: http://redash
      REDASH_MCP_ALLOWED_HOSTS: "redash-mcp"
      # REDASH_API_KEY は設定しない(各ユーザーが X-REDASH-API-KEY ヘッダで供給)
    networks:
      - librechat_default

networks:
  librechat_default:
    external: true

スタンドアロン(LibreChat を使わない)構成は docker-compose.example.yml を参照。

開発

uv sync
uv run pytest

Available Tools

7 tools
execute_queryB

保存済みクエリを実行し行データを返す。max_age=0でキャッシュ回避。

Inputs: query_id (required), max_age, parameters.

get_dashboardC

ダッシュボード1件(id または slug)。ウィジェット構成を含む。

Inputs: identifier (required).

get_data_source_schemaC

データソースのスキーマ(テーブル・カラム)。

Inputs: data_source_id (required).

get_queryC

指定IDのクエリ詳細(api_keyは秘匿済み)。

Inputs: query_id (required).

list_dashboardsC

ダッシュボード一覧・検索。

Inputs: q, page, page_size.

list_data_sourcesC

データソース一覧。

Inputs: no named parameters.

list_queriesB

クエリ一覧・検索。qで全文検索、page/page_sizeでページング。

Inputs: q, page, page_size.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: queries (execute vs. get details vs. list), dashboards (get vs. list), and data sources (list vs. get schema). No overlapping purposes.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., execute_query, get_dashboard, list_queries), with uniform use of snake_case.

    Tool Count5/5

    Seven tools is appropriate for a Redash MCP server, covering essential read and list operations without unnecessary bloat.

    Completeness2/5

    The tool set lacks any create, update, or delete operations for queries, dashboards, or data sources, leaving significant gaps in lifecycle management. An agent cannot create or modify resources.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      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
      4,448 npm
      108
      MIT
    • A
      license
      Not graded
      quality
      F
      maintenance
      Read-only MCP server for SQL databases (SQL Server, Postgres, SQLite) with multi-server support and three-layer safety using AST validation and linting.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server that connects AI assistants to Redash, enabling listing of assets, read-only query execution, dashboard inspection, and alert management through the Redash API.
      MIT