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
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 claude
Manual Installation
npm install lightdash-mcp-server
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:
npx lightdash-mcp-server
- Edit 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 8080
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:
...
"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 lint - Commit your changes
- Push to the branch
- Create a Pull Request
Recommend MCP Servers 💡
exa-mcp-server
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches.
zhsama/duckduckgo-mcp-server
A TypeScript-based MCP server providing DuckDuckGo search functionality with rate limiting and error handling.
@flipt-io/mcp-server-flipt
A Model Context Protocol (MCP) server for Flipt, enabling AI assistants to interact with feature flags.
blender-mcp
BlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
deepl-mcp-server
A Model Context Protocol (MCP) server that provides translation and rephrasing capabilities using the DeepL API.
ntfy-mcp
Welcome to ntfy-mcp, the MCP server that keeps you caffeinated and informed! 🚀☕️ This handy little server integrates with the Model Context Protocol to send you delightful ntfy notifications whenever your AI assistant completes a task. Because let's face it - you deserve that tea break while your code writes itself.