lightdash-mcp-server について
lightdash-mcp-server は、Lightdash API へのアクセスを提供する MCP サーバーです。AI アシスタントが標準化されたインターフェースを通じて、プロジェクト、スペース、チャート、ダッシュボードのデータを参照できます。
主な機能
- 01プロジェクト、スペース、チャート、ダッシュボードの一覧取得
- 02カスタムメトリクスとメトリクスカタログの取得
- 03チャートとダッシュボードの as code 形式での取得
- 04stdio と Streamable HTTP のトランスポート対応
活用シーン
- 01AI アシスタントによる Lightdash のチャートとダッシュボードの参照
- 02Lightdash のメトリクスカタログの閲覧
- 03HTTP モードによるリモートクライアントへの提供
MCP 対応
MCP サーバーとして、list_projects や list_charts などの Lightdash 関連ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
lightdash-mcp-server
Lightdash にアクセスする MCP(Model Context Protocol) サーバーです。
このサーバーは Lightdash の API への MCP 互換アクセスを提供し、AI アシスタントが標準化されたインターフェースを通じて Lightdash のデータを操作できるようにします。
機能
利用可能なツール:
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 PATLIGHTDASH_API_URL: API のベース URL
使用方法
lightdash-mcp-server は 2 つのトランスポートモードをサポートしています: Stdio(デフォルト)と HTTP です。
Stdio トランスポート(デフォルト)
- MCP サーバーを起動します:
npx lightdash-mcp-server
- MCP 設定 JSON を編集します:
...
"lightdash": {
"command": "npx",
"args": [
"-y",
"lightdash-mcp-server"
],
"env": {
"LIGHTDASH_API_KEY": "<your PAT>",
"LIGHTDASH_API_URL": "https://<your base url>"
}
},
...
HTTP トランスポート(Streamable HTTP)
- HTTP モードで MCP サーバーを起動します:
npx lightdash-mcp-server -port 8080
これにより StreamableHTTPServerTransport を使用してサーバーが起動し、http://localhost:8080/mcp で HTTP 経由でアクセスできるようになります。
- HTTP 経由で接続するように MCP クライアントを設定します:
Claude Desktop およびその他の MCP クライアントの場合:
command と args の代わりに url フィールドを使用するように、MCP 設定 JSON を編集します:
...
"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 クライアントの設定を通じて渡すことができないため、サーバーが実行されている環境で設定されていることを確認してください。
HTTP サーバーにプログラムから接続する完全な例については、examples/list_spaces_http.ts を参照してください。
開発
利用可能なスクリプト
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- サンプルスクリプトを実行します
コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します
- テストとリンティングを実行します:
npm run lint - 変更をコミットします
- ブランチにプッシュします
- プルリクエストを作成します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。