使用说明
@arkty/redash mcp
MCP服务器 红灰 --执行SQL查询,探索数据库模式,并获得JSON或CSV格式的结果。
- 特别查询 不在Redash中创建对象(没有留下痕迹)
- SQL写保护 --破坏性操作(INSERT/UPDATE/DELETE/DROP)被阻止
- CSV导出 --将结果保存到文件,将摘要返回给LLM
- 模式探索 --列出表、搜索列、检查结构
- 默认数据源 --配置一次,不指定每次查询
安装
npx -y @arkty/redash-mcp
配置
克劳德代码(.mcp.json)
{
"mcpServers": {
"redash": {
"command": "npx",
"args": ["-y", "@arkty/redash-mcp"],
"env": {
"REDASH_URL": "https://your-redash.example.com",
"REDASH_API_KEY": "your-api-key",
"REDASH_DEFAULT_DATA_SOURCE_ID": "1"
}
}
}
}
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
REDASH_URL |
是 | -- | Redash实例URL |
REDASH_API_KEY |
是 | - | 用户API密钥(来自Redash配置文件设置) |
REDASH_DEFAULT_DATA_SOURCE_ID |
否 | -- | 默认数据源ID |
REDASH_DEFAULT_TABLE |
否 | -- | 默认表名(显示在工具说明中) |
REDASH_TIMEOUT |
否 | 30000 | 请求超时(毫秒) |
REDASH_MAX_ROWS |
否 | 500 | JSON响应中的最大行数 |
REDASH_POLL_INTERVAL |
否 | 1000 | 作业轮询间隔(毫秒) |
REDASH_MAX_POLL_ATTEMPTS |
否 | 120 | 超时前的最大轮询尝试次数 |
REDASH_OUTPUT_DIR |
没有 | . |
CSV文件输出目录 |
REDASH_EXTRA_HEADERS |
没有 | -- | 额外的HTTP标头(JSON或 key=value;key2=value2) |
工具
execute_adhoc_query
直接对数据源执行SQL。在Redash中没有创建查询对象。破坏性SQL已被阻止。
参数: query, data_source_id?, format? ("json" | "csv")
list_data_sources
列出所有可用的数据源,包括ID、名称和类型。
get_data_source_schema
获取数据源的完整数据库架构(所有表和列)。
参数: data_source_id
get_table_info
获取特定表的列名和类型。
参数: data_source_id, table_name
search_schema
按名称模式搜索表和列(不区分大小写)。
参数: data_source_id, search
安全
- 破坏性SQL(INSERT、UPDATE、DELETE、DROP、ALTER、TRUNCATE、CREATE等)在MCP服务器级别被阻止。 过滤器故意简单 --它检查查询文本中是否存在关键字。这意味着它可能会产生误报(例如。,
SELECT REPLACE(...)被阻止是因为REPLACE是关键字)。这是一个安全网,而不是防弹解决方案。 - 在Redash数据源配置中使用只读数据库凭据——这是真正的保护层
- API密钥通过环境变量传递,从不硬编码
许可证
麻省理工学院