Token导航 LogoToken导航TokenDH.com
lightdash MCP logo
数据服务stdio官方级别未说明来源级核验

lightdash MCP

MCP Server

Lightdash MCP Server是一个基于模型上下文协议(MCP)的服务器,用于连接AI助手与Lightdash分析平台,支持数据发现、图表创建和仪表板管理。

工具数

28

提示词数

0

GitHub Stars

19

资源数

0
数据分析数据可视化PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

poddubnyoleg

提供方

poddubnyoleg

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install lightdash-mcp

详细介绍

Lightdash MCP服务器

![License: MIT](https://opensource.org/licenses/MIT) ![Python 3.10+](https://www.python.org/downloads/) ![MCP](https://modelcontextprotocol.io/) ![PyPI](https://pypi.org/project/lightdash-mcp/) ](https://github.com/poddubnyoleg/lightdash_mcp/stargazers)

使用模型上下文协议(MCP)将Claude、Cursor和其他AI助手连接到Lightdash分析。

一种用于交互的模型上下文协议(MCP)服务器 Lightdash,使LLM能够以编程方式发现数据、创建图表和管理仪表板。

特性

此MCP服务器为完整的数据分析工作流程提供了一套全面的工具:

  • 发现:探索数据目录,查找表/探索,并理解模式
  • 查询:执行具有完整过滤器、指标和聚合支持的查询
  • 图表管理:创建、读取、更新和删除具有复杂可视化的图表
  • 仪表盘管理:使用图块、过滤器和布局构建和管理仪表板
  • 资源组织:为内容组织创建和管理空间

安装

先决条件

  • Python 3.10+
  • Lightdash实例(云或自托管)
  • Lightdash个人访问令牌(从您的Lightdash配置文件设置中获取)

pip快速入门(推荐)

pip install lightdash-mcp

快速开始使用uvx

uvx lightdash-mcp

pipx快速入门

pipx run lightdash-mcp

从源代码安装

git clone https://github.com/poddubnyoleg/lightdash_mcp.git
cd lightdash_mcp
pip install .

谷歌云IAP支持

如果你的Lightdash实例落后 谷歌云身份感知代理 (例如,Cloud Run with --iap),与一起安装 iap 额外:

pip install lightdash-mcp[iap]
# or from source
pip install .[iap]

IAP_ENABLED=true.服务器将签署JWT(观众 {LIGHTDASH_URL}/*)通过IAM凭据API并将其附加为 Proxy-Authorization: Bearer 在每一个请求。这 Authorization: ApiKey Lightdash保留了标题。

支持服务帐户凭据和用户凭据(应用程序默认凭据/ADC):

服务帐户凭据 (Cloud Run、GCE等中的默认设置):

  • 运行时服务帐户需要 roles/iam.serviceAccountTokenCreator 本身
  • 运行时服务帐户需要 roles/iap.httpsResourceAccessor 在Cloud Run服务上

用户凭据(ADC) (例如。 gcloud auth application-default login):

  • IAP_SA 发送到服务帐户电子邮件以模拟签名JWT
  • 用户需要 roles/iam.serviceAccountTokenCreator 在目标服务帐户上
  • 目标服务帐户需要 roles/iap.httpsResourceAccessor 在Cloud Run服务上

配置

环境变量

服务器需要以下环境变量:

变量必填描述示例
LIGHTDASH_TOKEN您的Lightdash个人访问令牌ldt_abc123...
LIGHTDASH_URLLightdash实例的基本URLhttps://app.lightdash.cloud
CF_ACCESS_CLIENT_IDCloudflare访问客户端ID(如果位于CF访问之后)-
CF_ACCESS_CLIENT_SECRETCloudflare访问客户端密码(如果位于CF访问之后)-
LIGHTDASH_PROJECT_UUID默认项目UUID(回退到第一个可用项目)3fc2835f-...
IAP_ENABLED启用Google Cloud IAP身份验证(true/1)true
IAP_SA使用用户凭据(ADC)时IAP的服务帐户电子邮件sa@project.iam.gserviceaccount.com

获取您的Lightdash代币

  1. 登录您的Lightdash实例
  2. 首选 设置个人访问令牌
  3. 点击 生成新令牌
  4. 复制令牌(以开头 ldt_)

使用Claude Desktop

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "lightdash": {
      "command": "uvx",
      "args": ["lightdash-mcp"],
      "env": {
        "LIGHTDASH_TOKEN": "ldt_your_token_here",
        "LIGHTDASH_URL": "https://app.lightdash.cloud",
        "LIGHTDASH_PROJECT_UUID": "your-project-uuid"
      }
    }
  }
}

使用克劳德代码(CLI)

创建或编辑 .mcp.json 在项目根目录中:

{
  "mcpServers": {
    "lightdash": {
      "type": "stdio",
      "command": "lightdash-mcp",
      "env": {
        "LIGHTDASH_URL": "https://your-lightdash-instance.com",
        "LIGHTDASH_TOKEN": "ldt_your_token_here",
        "LIGHTDASH_PROJECT_UUID": "your-project-uuid"
      }
    }
  }
}

重新启动Claude Code并运行 /mcp 验证服务器是否显示为已连接。

备注:不要承诺 .mcp.json 如果它包含机密,请将其添加到 .gitignore.

与其他MCP客户端一起使用

运行前导出环境变量:

export LIGHTDASH_TOKEN="ldt_your_token_here"
export LIGHTDASH_URL="https://app.lightdash.cloud"
lightdash-mcp

可用工具

📊 发现和元数据

工具说明
list-projects列出所有可用的Lightdash项目
get-project获取特定项目的详细信息
list-explores列出项目中所有可用的探索/表格
get-explore-schema获取特定探索的详细模式(维度、指标、连接)
list-spaces列出项目中的所有空间(文件夹)
get-custom-metrics获取项目中定义的自定义指标

📈 图表管理

工具说明
list-charts列出所有已保存的图表,可选择按名称筛选
search-charts按名称或描述搜索图表
get-chart-details获取特定图表的完整配置
create-chart使用度量查询和可视化配置创建新的已保存图表
update-chart更新现有图表的配置(名称、描述、查询、可视化)
run-chart-query执行图表查询并检索数据
delete-chart删除已保存的图表

📋 仪表盘管理

工具说明
list-dashboards列出项目中的所有仪表板
create-dashboard创建一个新的仪表板(空白或带有互动程序)
duplicate-dashboard使用新名称克隆现有仪表板
get-dashboard-tiles使用可选的完整配置从仪表板获取所有互动程序
get-dashboard-tile-chart-config获取特定仪表板互动程序的完整图表配置
get-dashboard-code以代码形式获取完整的仪表板配置
create-dashboard-tile在仪表板上添加新互动程序(图表、标记或织机)
update-dashboard-tile更新互动程序属性(位置、大小、内容)
rename-dashboard-tile重命名仪表板互动程序
delete-dashboard-tile从仪表板上删除互动程序
update-dashboard-filters更新仪表板级别过滤器
run-dashboard-tiles同时执行仪表板上的一个、多个或所有图块

🔍 查询执行

工具说明
run-chart-query执行已保存图表的查询并返回数据
run-dashboard-tiles运行仪表板磁贴的查询(支持批量执行)
run-raw-query对任何探索执行特别指标查询

🗂️ 资源管理

工具说明
create-space创建一个新空间来组织图表和仪表板
delete-space删除空白

项目结构

.
├── pyproject.toml              # Package configuration
├── lightdash_mcp/              # Main package
│   ├── __init__.py             # Package init
│   ├── server.py               # MCP server entry point
│   ├── lightdash_client.py     # Lightdash API client
│   └── tools/                  # Tool implementations
│       ├── __init__.py         # Auto-discovery and tool registry
│       ├── base_tool.py        # Base tool interface
│       └── *.py                # Individual tool implementations
├── README.md
└── LICENSE

发展

添加新工具

服务器会自动从中发现并注册工具 tools/ 目录。要添加新工具,请执行以下操作:

  1. 创建一个新文件lightdash_mcp/tools/ (例如。, my_new_tool.py)
  1. 定义工具:
   from pydantic import BaseModel, Field
   from .base_tool import ToolDefinition
   from .. import lightdash_client as client

   class MyToolInput(BaseModel):
       param1: str = Field(..., description="Description of param1")

   TOOL_DEFINITION = ToolDefinition(
       name="my-new-tool",
       description="Description of what this tool does",
       input_schema=MyToolInput
   )

   def run(param1: str) -> dict:
       """Execute the tool logic"""
       result = client.get(f"/api/v1/some/endpoint/{param1}")
       return result
  1. 重新启动服务器 -该工具将自动注册

工具注册表

工具通过以下方式自动发现 tools/__init__.py,其中:

  • 扫描 tools/ Python模块目录
  • 导入每个模块(不包括实用模块)
  • 按其注册工具 TOOL_DEFINITION.name

测试

您可以通过导入单个工具来测试它们:

from tools import tool_registry

# List all registered tools
print(tool_registry.keys())

# Test a specific tool
result = tool_registry['list-projects'].run()
print(result)

故障排除

身份验证错误

如果你看到 401 Unauthorized 错误:

  • 验证您的 LIGHTDASH_TOKEN 是正确的,并且以 ldt_
  • 检查令牌是否未过期
  • 确保您在Lightdash中拥有必要的权限

连接错误

如果您看到连接错误:

  • 验证 LIGHTDASH_URL 是正确的
  • 对于Lightdash Cloud:使用 https://app.lightdash.cloud
  • 对于自托管:使用 https://your-domain.com
  • 如果在Cloudflare Access之后,请确保 CF_ACCESS_CLIENT_IDCF_ACCESS_CLIENT_SECRET 已设定
  • 如果在Google Cloud IAP之后,请确保 IAP_ENABLED=true 已设置,请安装 pip install lightdash-mcp[iap],并验证服务帐户是否具有 serviceAccountTokenCreator 本身

未找到工具

如果工具未显示:

  • 检查文件是否在 tools/ 目录
  • 确保文件具有 TOOL_DEFINITION 变量
  • 验证该文件不在中的排除列表中 tools/__init__.py
  • 重新启动MCP服务器

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 使用适当的测试添加您的更改
  4. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

支持

对于问题和疑问:

目录标签

目录标签

数据分析数据可视化PythonClaude本地部署协议服务器AI集成仪表板管理

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

28

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP