mcpField
L
lightdash-mcp-server

lightdash-mcp-server

本地服务
npmjs.com数据与分析2772 周前更新

关于 lightdash-mcp-server

lightdash-mcp-server 是一个 MCP 服务,用于访问 Lightdash 的 API。它让 AI 助手能够通过标准化接口查询项目、Space、图表和仪表板等数据。

主要功能

  1. 01查询项目、Space、图表与仪表板
  2. 02获取指标目录与自定义指标
  3. 03以 code 形式获取图表与仪表板
  4. 04支持 stdio 与 Streamable HTTP 传输

适用场景

  1. 01让 AI 助手查询 Lightdash 中的图表与仪表板
  2. 02浏览 Lightdash 的指标目录
  3. 03通过 HTTP 模式为远程客户端提供访问

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 list_projects、list_charts 等 Lightdash 相关工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"lightdash": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

lightdash-mcp-server

smithery badge npm version

一个可访问 Lightdash 的 MCP(Model Context Protocol) 服务。

此服务通过标准化接口提供与 MCP 兼容的 Lightdash API 访问,让 AI 助手能够与您的 Lightdash 数据交互。

Lightdash Server MCP server

功能

可用工具:

  • list_projects - 列出 Lightdash 组织中的所有项目
  • get_project - 获取指定项目的详细信息
  • list_spaces - 列出项目中的所有空间
  • list_charts - 列出项目中的所有图表
  • list_dashboards - 列出项目中的所有仪表板
  • get_custom_metrics - 获取项目的自定义指标
  • get_catalog - 获取项目的目录
  • get_metrics_catalog - 获取项目的指标目录
  • get_charts_as_code - 以代码形式获取项目的图表
  • get_dashboards_as_code - 以代码形式获取项目的仪表板

快速开始

安装
通过 Smithery 安装

通过 Smithery 为 Claude Desktop 自动安装 Lightdash MCP Server:

npx -y @smithery/cli install lightdash-mcp-server --client claude
手动安装
npm install lightdash-mcp-server
配置
  • LIGHTDASH_API_KEY:您的 Lightdash PAT
  • LIGHTDASH_API_URL:API 基础 URL
使用

lightdash-mcp-server 支持两种传输模式:Stdio(默认)和 HTTP。

Stdio 传输(默认)
  1. 启动 MCP 服务:
npx lightdash-mcp-server
  1. 编辑 MCP 配置 JSON:
...
    "lightdash": {
      "command": "npx",
      "args": [
        "-y",
        "lightdash-mcp-server"
      ],
      "env": {
        "LIGHTDASH_API_KEY": "<your PAT>",
        "LIGHTDASH_API_URL": "https://<your base url>"
      }
    },
...
HTTP 传输(可流式 HTTP)
  1. 以 HTTP 模式启动 MCP 服务:
npx lightdash-mcp-server -port 8080

这将使用 StreamableHTTPServerTransport 启动服务,并通过 http://localhost:8080/mcp 提供 HTTP 访问。

  1. 配置 MCP 客户端以通过 HTTP 连接:

适用于 Claude Desktop 和其他 MCP 客户端:

编辑 MCP 配置 JSON,使用 url 字段,而不是 command 和 args:

...
    "lightdash": {
      "url": "http://localhost:8080/mcp"
    },
...

以编程方式访问:

使用可流式 HTTP 客户端传输:

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);

注意: 使用 HTTP 模式时,请确保在运行服务的环境中设置环境变量 LIGHTDASH_API_KEY 和 LIGHTDASH_API_URL,因为这些变量无法通过 MCP 客户端配置传递。

请参阅 examples/list_spaces_http.ts,查看以编程方式连接到 HTTP 服务的完整示例。

开发

可用脚本
  • npm run dev - 在开发模式下启动服务,并启用热重载(stdio 传输)
  • npm run dev:http - 在开发模式下启动服务,使用端口 8080 上的 HTTP 传输
  • npm run build - 构建用于生产环境的项目
  • npm run start - 启动生产环境服务
  • npm run lint - 运行代码检查(ESLint 和 Prettier)
  • npm run fix - 自动修复代码检查问题
  • npm run examples - 运行示例脚本
贡献
  1. Fork 此代码库
  2. 创建您的功能分支
  3. 运行测试和代码检查:npm run lint
  4. 提交您的更改
  5. 推送到分支
  6. 创建 Pull Request

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。