用途
redash-mcp 是一个 MCP(Model Context Protocol)服务器,用于把 Redash 连接到 Claude、Cursor、Gemini CLI、Codex 以及任何支持 MCP 的客户端,让用户可以用自然语言查询数据、管理仪表盘并运行 SQL。它面向需要让大语言模型接触生产数据、但又希望有安全约束的使用场景。
主要能力
SQL 安全防护
- 始终拦截:
DROP、TRUNCATE、ALTER TABLE、GRANT/REVOKE、不带WHERE的DELETE/UPDATE。 - 告警(warn 模式)或拦截(strict 模式):
SELECT *、没有WHERE或LIMIT的查询、访问 PII 列。 - 自动 LIMIT:当设置了
REDASH_AUTO_LIMIT时,会自动追加LIMIT N。 - 支持 strict / warn / off 三种模式,并带有 PII 检测。
智能查询(BIRD Smart Query)
基于 BIRD text-to-SQL 方法论,分析问题、自动选择正确的数据表,并引导 SQL 生成;可选使用 Claude Haiku 作为表选择回退。
端到端工具集
共 6 大类 20 多个工具,覆盖查询、保存、分叉、仪表盘、控件和告警。
本地运行
直接与用户的 Redash 实例通信,API 密钥和查询结果不离开本机。结果会缓存在内存中,以减少重复 API 调用:TTL 通过 REDASH_MCP_CACHE_TTL 配置(默认 300 秒),最大内存通过 REDASH_MCP_CACHE_MAX_MB 配置(默认 50MB)。
一键配置
npx redash-mcp setup 命令可帮助配置 Claude Desktop、Claude Code(CLI)、Cursor、Gemini CLI、Codex CLI,无需手动编辑 JSON。也提供 Shell 脚本安装方式,可一次性安装 Node.js、Claude Desktop 和 MCP 配置。
使用方式
获取 API Key
进入 Redash → 右上角 Profile → Edit Profile → 复制 API Key。
在 Claude Desktop 中配置
打开 ~/Library/Application Support/Claude/claude_desktop_config.json 并添加配置,保存后完全退出并重启 Claude Desktop。
在 Cursor 中配置
打开 ~/.cursor/mcp.json(若不存在则创建)并添加配置。macOS 上如果找不到 npx,可运行 which npx 获取完整路径并使用该路径。
环境变量
项目通过环境变量进行配置,包括 REDASH_AUTO_LIMIT、REDASH_MCP_CACHE_TTL、REDASH_MCP_CACHE_MAX_MB、ANTHROPIC_API_KEY 等(具体完整列表见仓库说明)。
自然语言示例
可以直接用自然语言向 Claude 提出请求,例如:
- “Show me the columns in the users table”
- “Run a query to get order counts for the last 7 days”
- “List all saved queries”
- “Show widgets in the revenue dashboard”
- “Create an alert when daily signups drop below 100”
典型工作流示例
- 查询数据:提问“How many new users signed up this month?” →
list_data_sources确定目标数据源 →smart_query分析问题、自动选择 User 表并给出 SQL 生成指引 →run_query执行生成的 SQL。 - 复杂业务问题:提问“What percentage of last week's new users made a purchase?” →
smart_query分析并自动选择 User 和 Payment 表,给出 JOIN 查询指引 →run_query执行 SQL。 - 创建查询与仪表盘:提问“Create a monthly revenue trend query and add it to a dashboard” →
smart_query分析收入相关表 →create_query保存“Monthly Revenue Trend”查询 →create_dashboard创建“Revenue Dashboard” →get_query从已保存查询获取可视化 ID →add_widget将图表控件添加到仪表盘。
适用场景
- 需要使用自然语言查询 Redash 中数据的开发者或数据分析人员。
- 希望在让大语言模型访问生产数据时保留安全约束(拦截破坏性 SQL、检测 PII、自动 LIMIT)的团队。
- 需要以对话方式管理 Redash 查询、仪表盘、控件和告警的用户。
- 使用 Claude Desktop、Claude Code、Cursor、Gemini CLI、Codex CLI 等 MCP 客户端的用户。
限制与隐私
- 这是一个本地 MCP 服务器,直接与用户的 Redash 实例通信,没有中间服务器。
- 不会向第三方出售或分享用户数据。当 LLM Fallback 功能启用时,仅当用户显式配置了
ANTHROPIC_API_KEY后,才会将表名列表发送到 Anthropic API。 - 配置文件存储在本地
~/.redash-mcp/(用户可随时删除);查询缓存仅存在于内存中,服务器关闭时清除;Schema 缓存仅存在于内存中,10 分钟 TTL 后自动过期。 - redash-mcp 是非官方社区构建的集成,与 Redash 没有关联、背书或赞助关系。“Redash”是其各自所有者的商标,此处仅用于描述兼容性。该项目仅通过 Redash 的公共 REST API 与其通信。
- 完整的环境变量列表、准确的安装命令和配置片段请以仓库 README 为准,本介绍未逐一展开的内容暂未提供。