mcpField
R
redash-mcp

redash-mcp

本地服务
github.com/seob717数据与分析13 天前更新

关于 redash-mcp

redash-mcp 是一个本地 MCP 服务,让 AI 客户端操作 Redash。它结合 SQL 安全检查与 BIRD 查询引导,并提供查询、图表、仪表板和警报管理工具。

主要功能

  1. 01带安全检查运行 SQL
  2. 02通过 BIRD 引导生成 SQL
  3. 03管理已保存的查询和结果
  4. 04创建图表和仪表板组件
  5. 05管理警报

适用场景

  1. 01用自然语言探索 Redash 数据
  2. 02创建图表并添加到仪表板
  3. 03为指标阈值设置警报

MCP 相关

向 MCP 客户端提供 25 个工具,用于查询 Redash 数据,以及管理已保存的查询、可视化、仪表板和警报。服务在本地运行,并直接连接 Redash API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"seob717-redash": {
"command": "npx",
"args": [
"-y",
"redash-mcp"
],
"env": {
"REDASH_URL": "<REDASH_URL>",
"REDASH_API_KEY": "<REDASH_API_KEY>",
"REDASH_SAFETY_MODE": "<REDASH_SAFETY_MODE>",
"REDASH_SAFETY_DISABLE_PII": "<REDASH_SAFETY_DISABLE_PII>",
"REDASH_SAFETY_DISABLE_COST": "<REDASH_SAFETY_DISABLE_COST>"
}
}
}
}
启动命令npx -y redash-mcp
需要配置的环境变量
REDASH_URLYour Redash instance URL (e.g. https://redash.example.com)
REDASH_API_KEY密钥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.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmredash-mcp3.5.0

工具

24

收录的工具列表 · 更新于 5 天前

此工具无需参数。

详细介绍

redash-mcp

npm version Downloads Node Glama Claude Cursor Gemini CLI Codex CLI

English | 한국어 | 日本語

将 Redash 连接到 Claude、Cursor、Gemini CLI、Codex 和任何 MCP 客户端的 MCP 服务——通过自然语言查询数据、构建图表和仪表盘,并运行 SQL。

安装 · 工具 · 环境变量 · 示例 · 故障排除 · 隐私

3.5 版本更新内容

  • create_visualization — 为已保存的查询创建折线图 / 柱状图 / 面积图 / 饼图 / 散点图或计数器。如果查询已运行,会根据其最新结果检查列名,因此输入错误会返回错误,而不是生成空图表。
  • 仪表盘自动布局 — add_widget 会将新小组件放在现有小组件下方;半宽小组件会并排放置(之前它们都会重叠在左上角)。

完整历史记录:版本发布

为什么选择 redash-mcp?

专为让大模型安全地访问生产数据而构建:

  • 🛡️ SQL 安全防护 — 阻止 DROP / TRUNCATE / ALTER,以及不带 WHERE 的 DELETE / UPDATE;支持 strict / warn / off 模式、PII 检测和自动添加 LIMIT。
  • 🧠 BIRD 智能查询 — 分析问题、自动选择表,并引导生成 SQL(BIRD text-to-SQL)。可选 Claude Haiku 备用方案。
  • 📊 端到端 — 查询、保存、图表、仪表盘和警报——共 25 个工具。
  • ⚡ 一条命令即可设置 — npx redash-mcp setup 可配置 Claude Desktop / Claude Code / Cursor / Gemini CLI / Codex CLI。
  • 🔒 完全本地运行 — 直接连接到你的 Redash。API 密钥和结果绝不会离开你的设备。

安装

要求: Node.js 20+ 和 Redash API 密钥(Redash → Profile → Edit Profile → API Key)。

npx redash-mcp setup

向导可配置 Claude Desktop、Claude Code、Cursor、Gemini CLI 和 Codex CLI 的任意组合。

也可以一次性安装 Node.js、Claude Desktop 和 MCP 配置:

curl -fsSL https://raw.githubusercontent.com/seob717/redash-mcp/main/install.sh | bash
手动设置
  • Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json
  • Cursor — ~/.cursor/mcp.json(如果文件不存在,请创建)
{
  "mcpServers": {
    "redash-mcp": {
      "command": "npx",
      "args": ["-y", "redash-mcp"],
      "env": {
        "REDASH_URL": "https://your-redash-instance.com",
        "REDASH_API_KEY": "your_api_key_here"
      }
    }
  }
}

保存后,完全退出并重启 Claude Desktop。

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
## 工具
类别工具
数据源与架构list_data_sources、list_tables、get_table_columns
查询run_query — 执行 SQL 并返回结果
已保存的查询list_queries、get_query、get_query_result(带参数值)、create_query、update_query、fork_query、archive_query
图表create_visualization — 折线图 / 柱状图 / 面积图 / 饼图 / 散点图 / 计数器
仪表板list_dashboards、get_dashboard、create_dashboard、add_widget(自动布局)
警报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 安全防护

适用于通过 run_query 执行的临时 SQL。通过 get_query_result 执行的已保存查询不会经过检查,因此请为 Redash 数据源提供只读数据库账户。

  • 始终禁止(除非 REDASH_SAFETY_MODE=off):DROP、TRUNCATE、ALTER TABLE、GRANT/REVOKE、不带 WHERE 的 DELETE/UPDATE
  • 发出警告(warn)/禁止(strict):SELECT *、不带 WHERE 或 LIMIT 的查询、访问 PII 列
  • 自动添加 LIMIT:当设置了 REDASH_AUTO_LIMIT 时,追加 LIMIT N

详情请参阅:docs/sql-safety-guard.md。查询结果也会缓存在内存中(见下方的 REDASH_MCP_CACHE_*)。

环境变量

变量默认值说明
REDASH_URL必填Redash 实例 URL(例如 https://redash.example.com)
REDASH_API_KEY必填Redash 用户 API 密钥
REDASH_SAFETY_MODEwarnSQL 安全级别:off / warn / strict
REDASH_SAFETY_DISABLE_PIIfalse禁用 PII 检测
REDASH_SAFETY_DISABLE_COSTfalse禁用成本警告
REDASH_AUTO_LIMIT0为未设置 LIMIT 的查询自动追加 LIMIT N(0 = 关闭)
REDASH_DEFAULT_MAX_AGE0Redash 缓存 TTL,单位为秒
REDASH_MCP_CACHE_TTL300MCP 查询缓存 TTL,单位为秒(0 = 关闭)
REDASH_MCP_CACHE_MAX_MB50MCP 查询缓存的最大内存,单位为 MB
REDASH_MCP_CONFIG_DIR~/.redash-mcpBIRD 少样本示例、反馈、评估和关键词映射数据的存放位置
REDASH_BIRD_ENABLEDtrue设为 false 可禁用 BIRD 智能查询工具
REDASH_HTTP_TIMEOUT_SECS30每次向 Redash API 发起请求的 HTTP 超时时间
ANTHROPIC_API_KEY—启用 Claude Haiku 回退方案,为 smart_query 选择表格

使用示例

只需用自然语言提问:

  • “本月有多少新用户注册?” → smart_query 选择表格 → run_query
  • “上周新用户中有多少比例进行了购买?” → smart_query 指引 JOIN → run_query
  • “当每日注册人数低于 100 时创建警报” → create_alert

构建仪表板:“保存一条月收入查询,将其制作为折线图,并放到新的 Revenue 仪表板上。”

  1. create_query — 保存“月收入”
  2. get_query_result — 运行一次,以便检查图表列
  3. create_visualization — type: "line"、x_column: "month"、y_columns: ["revenue"]
  4. create_dashboard — 创建“Revenue”
  5. add_widget — 放置图表;更多小组件会堆叠在下方或并排放置

故障排查

症状解决方法
npx 未找到(macOS 图形界面应用)运行 which npx,并将完整路径用作 command
“身份验证失败”检查 REDASH_API_KEY——它必须是用户 API 密钥
“无法连接到 Redash 服务”检查 REDASH_URL(包含 https://、不含 /api 的基础 URL)以及网络/VPN
“查询超时”简化查询,或为 run_query / get_query_result 传入更大的 timeout_secs;如果 API 响应较慢,则调高 REDASH_HTTP_TIMEOUT_SECS
查询被安全防护机制拦截添加 WHERE/LIMIT;在 strict 模式下,将 REDASH_SAFETY_MODE=warn 设为改为接收警告
未显示工具修改配置后,完全重启客户端

开发

npm install
npm run dev     # run from source (tsx)
npm test        # vitest
npm run build   # typecheck + bundle to dist/

隐私政策

redash-mcp 是一个本地 MCP 服务,可直接与您的 Redash 实例通信,不涉及任何中间服务。

项目说明
Redash API 密钥仅作为本地环境变量(REDASH_API_KEY)存储,绝不会对外传输。
查询内容和结果仅通过 MCP 协议发送给本地 MCP 客户端。
BIRD SQL 设置仅存储在本地文件(~/.redash-mcp/)中:少样本示例、关键词映射和反馈。
LLM 回退仅当设置了 ANTHROPIC_API_KEY 时,smart_query 才会将表名、列名和问题文本发送到 Anthropic API。查询结果和行数据绝不会被传输。

我们不会向第三方出售或共享用户数据。

保留期限: 配置文件会保留在 ~/.redash-mcp/ 中,直到您将其删除;查询缓存存储在内存中,并在关闭时清除;架构缓存存储在内存中,TTL 为 10 分钟。

联系方式: 可通过 GitHub Issues 提交咨询和安全报告。

免责声明

redash-mcp 是一项非官方的社区构建集成,与 Redash 无关,也未获得其认可或赞助。“Redash”是其各自所有者的商标,在此仅用于说明兼容性。本项目仅通过 Redash 的公共 REST API 与其通信。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。