Lightdash MCP Server
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.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Lightdash MCP Server list all dashboards in the marketing project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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: Metabase MCP Plus
Quick Start
Installation
Installing via Smithery
To install Lightdash MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install lightdash-mcp-server --client claudeManual Installation
npm install lightdash-mcp-serverConfiguration
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:
npx lightdash-mcp-serverEdit your MCP configuration json:
...
"lightdash": {
"command": "npx",
"args": [
"-y",
"lightdash-mcp-server"
],
"env": {
"LIGHTDASH_API_KEY": "<your PAT>",
"LIGHTDASH_API_URL": "https://<your base url>"
}
},
...HTTP Transport (Streamable HTTP)
Start the MCP server in HTTP mode:
npx lightdash-mcp-server -port 8080This 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:
...
"lightdash": {
"url": "http://localhost:8080/mcp"
},
...For programmatic access:
Use the streamable HTTP client transport:
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
const client = new Client({
name: 'my-client',
version: '1.0.0'
}, {
capabilities: {}
});
const transport = new StreamableHTTPClientTransport(
new URL('http://localhost:8080/mcp')
);
await client.connect(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
Available Tools
13 toolslightdash_get_analyticsC
Get analytics for a specific table in the data catalog
Inputs: projectUuid (required), table (required).
lightdash_get_catalogC
Get catalog for a project
Inputs: projectUuid (required).
lightdash_get_charts_as_codeC
Get charts as code for a project
Inputs: projectUuid (required).
lightdash_get_custom_metricsC
Get custom metrics for a project
Inputs: projectUuid (required).
lightdash_get_dashboards_as_codeC
Get dashboards as code for a project
Inputs: projectUuid (required).
lightdash_get_metadataB
Get metadata for a specific table in the data catalog
Inputs: projectUuid (required), table (required).
lightdash_get_metrics_catalogB
Get metrics catalog for a project
Inputs: projectUuid (required).
lightdash_get_projectA
Get details of a specific project
Inputs: projectUuid (required).
lightdash_get_user_attributesB
Get organization user attributes
Inputs: no named parameters.
lightdash_list_chartsA
List all charts in a project
Inputs: projectUuid (required).
lightdash_list_dashboardsA
List all dashboards in a project
Inputs: projectUuid (required).
lightdash_list_projectsA
List all projects in the Lightdash organization
Inputs: no named parameters.
lightdash_list_spacesC
List all spaces in a project
Inputs: projectUuid (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Most tools target distinct resources (analytics, catalog, charts, dashboards, projects), but there is potential confusion between 'get_catalog' and 'get_metrics_catalog', and between 'get_analytics' and 'get_metadata' for a specific table. Descriptions help clarify, but some overlap exists.
All tools follow a consistent 'lightdash_verb_noun' pattern, using 'get_' or 'list_' prefixes. The 'as_code' suffix in two tools is a minor deviation but still fits the pattern well.
With 13 tools covering catalog, charts, dashboards, metrics, projects, spaces, and user attributes, the number is well-scoped for a read-only analytics server. It is neither too few nor too many.
The server covers many read operations (get, list) but lacks any write tools (create, update, delete), which is a notable gap for full lifecycle management in Lightdash. Agents may need write capabilities for many workflows.
Maintenance
Related MCP Connectors
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server that provides AI assistants with full access to Apache Superset instances, enabling interaction with dashboards, charts, datasets, databases, and SQL execution capabilities.34-
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to query databases, execute SQL, and manage Metabase resources like dashboards, cards, and collections through natural language.2218 PyPIMIT
- FlicenseNot gradedqualityCmaintenanceModel Context Protocol (MCP) server that gives AI assistants a safe, correct data-analyst capability over business metrics - without raw SQL improvisation.-
- AlicenseAqualityDmaintenanceA Model Context Protocol server for interacting with Lightdash, enabling AI assistants to discover data, create charts, and manage dashboards programmatically.2824MIT