Redash MCP服务器
模型上下文协议(MCP)服务器,用于将Redash与Claude等AI助手集成。
特性
- 通过Redash API连接到Redash实例
- 将可用查询和仪表板作为资源列出
- 执行查询并检索结果
- 创建和管理查询(创建、更新、存档)
- 列出用于创建查询的数据源
- 获取仪表板详细信息和可视化
先决条件
- Node.js(v18或更高版本)
- npm或纱线
- 访问Redash实例
- Redash API密钥
环境变量
服务器需要以下环境变量:
REDASH_URL:您的Redash实例URL(例如。,https://redash.example.com)REDASH_API_KEY:您的Redash API密钥
可选变量:
REDASH_TIMEOUT:API请求的超时时间(以毫秒为单位)(默认值:30000)REDASH_MAX_RESULTS:要返回的最大结果数(默认值:1000)REDASH_EXTRA_HEADERS:每个Redash请求都要包含额外的HTTP标头。接受JSON对象字符串或以分号/逗号分隔的列表key=value对。REDASH_SOCKS_PROXY:用于通过代理路由请求的SOCKS代理URL(例如。,socks5h://localhost:1080).使用socks5h://(与h)将DNS解析委托给代理,这是本地计算机上无法解析的内部主机名所必需的。
示例:
JSON(推荐):
REDASH_EXTRA_HEADERS='{"CF-Access-Client-Id":"","CF-Access-Client-Secret":""}'键/值列表:
REDASH_EXTRA_HEADERS=CF-Access-Client-Id=;CF-Access-Client-Secret=笔记:
- 这
Authorization标头由服务器管理(Key)并且不能被覆盖。 - 所有额外的标头都会添加到向Redash发出的每个请求中。
安装
- 克隆此存储库:
git clone https://github.com/suthio/redash-mcp.git
cd redash-mcp- 安装依赖项:
npm install- 创建一个
.env使用您的Redash配置文件:
REDASH_URL=https://your-redash-instance.com
REDASH_API_KEY=your_api_key
# Optional: Cloudflare Access (or other gateway) headers
# REDASH_EXTRA_HEADERS='{"CF-Access-Client-Id":"","CF-Access-Client-Secret":""}'- 构建项目:
npm run build- 启动服务器:
npm start使用Claude for Desktop
要将此MCP服务器与Claude for Desktop一起使用,请在Claude for桌面配置文件中对其进行配置:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
添加以下配置(根据需要编辑路径):
{
"mcpServers": {
"redash": {
"command": "npx",
"args": [
"-y",
"@suthio/redash-mcp"
],
"env": {
"REDASH_API_KEY": "your-api-key",
"REDASH_URL": "https://your-redash-instance.com"
}
}
}
}可用工具
查询管理
list-queries:在Redash中列出所有可用的查询get-query:获取特定查询的详细信息create-query:在Redash中创建新查询update-query:在Redash中更新现有查询archive-query:存档(软删除)查询list-data-sources:列出所有可用的数据源
查询执行
execute-query:执行查询并返回结果execute-adhoc-query:执行即席查询而不将其保存到Redashget-query-results-csv:以CSV格式获取查询结果(支持可选刷新最新数据)
仪表板管理
list-dashboards:列出所有可用的仪表板get-dashboard:获取仪表板详细信息和可视化get-visualization:获取特定可视化的详细信息
可视化管理
create-visualization:为查询创建新的可视化update-visualization:更新现有可视化delete-visualization:删除可视化
发展
在开发模式下运行:
npm run dev测试
单元测试
npm testE2E测试
npm run e2e:testE2E测试使用这些默认值(可以用环境变量覆盖):
REDASH_URL: https://demo.redash.ioREDASH_API_KEY:test_api_key
覆盖示例:
REDASH_URL=https://your-instance.com REDASH_API_KEY=your_key npm run e2e:test手动测试
npm run inspector版本历史
- v1.1.0:添加了查询管理功能(创建、更新、存档)
- v1.0.0:初始版本
许可证
麻省理工学院
