Discover MCPs & agents
Loading MCPs and agents…
Loading MCPs and agents…
A MCP(Model Context Protocol) server that accesses to Lightdash
From the repo.
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.
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 projectTo install Lightdash MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install lightdash-mcp-server --client claude
npm install lightdash-mcp-server
LIGHTDASH_API_KEY: Your Lightdash PATLIGHTDASH_API_URL: The API base URLThe lightdash-mcp-server supports two transport modes: Stdio (default) and HTTP.
npx lightdash-mcp-server
...
"lightdash": {
"command": "npx",
"args": [
"-y",
"lightdash-mcp-server"
],
"env": {
"LIGHTDASH_API_KEY": "<your PAT>",
"LIGHTDASH_API_URL": "https://<your base url>"
}
},
...
npx lightdash-mcp-server -port 8080
This starts the server using StreamableHTTPServerTransport, making it accessible via HTTP at http://localhost:8080/mcp.
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.
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 scriptsnpm run lintReplace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.