Redash MCP Server

# Redash MCP Server Model Context Protocol (MCP) server for integrating Redash with AI assistants like Claude. ## Features - Connect to Redash instances via the Redash API - List available queries and dashboards as resources - Execute queries and retrieve results - Create and manage queries (create, update, archive) - List data sources for query creation - Get dashboard details and visualizations ## Prerequisites - Node.js (v18 or later) - npm or yarn - Access to a Redash instance - Redash API key ## Environment Variables The server requires the following environment variables: - `REDASH_URL`: Your Redash instance URL (e.g., https://redash.example.com) - `REDASH_API_KEY`: Your Redash API key Optional variables: - `REDASH_TIMEOUT`: Timeout for API requests in milliseconds (default: 30000) - `REDASH_MAX_RESULTS`: Maximum number of results to return (default: 1000) ## Installation 1. Clone this repository: ```bash git clone https://github.com/suthio/redash-mcp.git cd redash-mcp ``` 2. Install dependencies: ```bash npm install ``` 3. Create a `.env` file with your Redash configuration: ``` REDASH_URL=https://your-redash-instance.com REDASH_API_KEY=your_api_key ``` 4. Build the project: ```bash npm run build ``` 5. Start the server: ```bash npm start ``` ## Usage with Claude for Desktop To use this MCP server with Claude for Desktop, configure it in your Claude for Desktop configuration file: **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` Add the following configuration (edit paths as needed): ```json { "mcpServers": { "redash": { "command": "node", "args": ["/absolute/path/to/redash-mcp/dist/index.js"], "env": { "REDASH_API_KEY": "your-api-key", "REDASH_URL": "https://your-redash-instance.com" } } } } ``` ## Available Tools ### Query Management - `list-queries`: List all available queries in Redash - `get-query`: Get details of a specific query - `create-query`: Create a new query in Redash - `update-query`: Update an existing query in Redash - `archive-query`: Archive (soft-delete) a query - `list-data-sources`: List all available data sources ### Query Execution - `execute-query`: Execute a query and return results ### Dashboard Management - `list-dashboards`: List all available dashboards - `get-dashboard`: Get dashboard details and visualizations - `get-visualization`: Get details of a specific visualization ## Development Run in development mode: ```bash npm run dev ``` ## Version History - v1.1.0: Added query management functionality (create, update, archive) - v1.0.0: Initial release ## License MIT