The Lightdash MCP Server provides a standardized interface for AI assistants to interact with Lightdash data. With this server, you can:
List all projects in the Lightdash organization
Get details of a specific project by UUID
List all spaces, charts, and dashboards in a project
Retrieve custom metrics, catalog, and metrics catalog
Fetch charts and dashboards as code
Get metadata and analytics for specific tables in the data catalog
Retrieve organization user attributes
Used for configuration management by storing Lightdash API credentials in environment variables.
Provides code linting functionality for development and contributing to the project.
Used for package installation, dependency management, and running scripts for the server.
Handles code formatting to maintain consistent style across the codebase.
lightdash-mcp-server
A MCP(Model Context Protocol) server that accesses to Lightdash.
This server provides MCP-compatible access to Lightdash's API, allowing AI assistants to interact with your Lightdash data through a standardized interface.
Features
Available tools:
list_projects- List all projects in the Lightdash organizationget_project- Get details of a specific projectlist_spaces- List all spaces in a projectlist_charts- List all charts in a projectlist_dashboards- List all dashboards in a projectget_custom_metrics- Get custom metrics for a projectget_catalog- Get catalog for a projectget_metrics_catalog- Get metrics catalog for a projectget_charts_as_code- Get charts as code for a projectget_dashboards_as_code- Get dashboards as code for a project
Related MCP server: Astro Docs MCP Server
Quick Start
Installation
Installing via Smithery
To install Lightdash MCP Server for Claude Desktop automatically via Smithery:
Manual Installation
Configuration
LIGHTDASH_API_KEY: Your Lightdash PATLIGHTDASH_API_URL: The API base URL
Usage
The lightdash-mcp-server supports two transport modes: Stdio (default) and HTTP.
Stdio Transport (Default)
Start the MCP server:
Edit your MCP configuration json:
HTTP Transport (Streamable HTTP)
Start the MCP server in HTTP mode:
This starts the server using StreamableHTTPServerTransport, making it accessible via HTTP at http://localhost:8080/mcp.
Configure your MCP client to connect via HTTP:
For Claude Desktop and other MCP clients:
Edit your MCP configuration json to use the url field instead of command and args:
For programmatic access:
Use the streamable HTTP client transport:
Note: When using HTTP mode, ensure the environment variables LIGHTDASH_API_KEY and LIGHTDASH_API_URL are set in the environment where the server is running, as they cannot be passed through MCP client configuration.
See examples/list_spaces_http.ts for a complete example of connecting to the HTTP server programmatically.
Development
Available Scripts
npm run dev- Start the server in development mode with hot reloading (stdio transport)npm run dev:http- Start the server in development mode with HTTP transport on port 8080npm run build- Build the project for productionnpm run start- Start the production servernpm run lint- Run linting checks (ESLint and Prettier)npm run fix- Automatically fix linting issuesnpm run examples- Run the example scripts
Contributing
Fork the repository
Create your feature branch
Run tests and linting:
npm run lintCommit your changes
Push to the branch
Create a Pull Request