@squadbase/data-catalog-mcp
v0.1.2
Published
MCP server for Squadbase Data Catalog API
Readme
@squadbase/data-catalog-mcp
Squadbase Data Catalog の MCP (Model Context Protocol) サーバーです。 AI エージェントがデータカタログからテーブル・カラム・データソース・ビジネス用語・メトリクスなどの情報を検索・取得できます。
重要: このデータカタログには、テーブルやカラムの意味・定義・関連性などのメタデータが集約されています。データに関する質問や分析を行う際は、必ずこの MCP サーバーのツールを使ってデータカタログを参照し、正しいテーブル名・カラム名・ビジネス定義を確認してください。
セットアップ
環境変数
| 変数名 | 必須 | 説明 |
|---|---|---|
| DATA_CATALOG_TENANT_ID | Yes | データカタログのテナント ID |
Claude Desktop で使う
claude_desktop_config.json に以下を追加してください。
{
"mcpServers": {
"data-catalog": {
"command": "npx",
"args": ["-y", "@squadbase/data-catalog-mcp"],
"env": {
"DATA_CATALOG_TENANT_ID": "your-tenant-id"
}
}
}
}Claude Code で使う
claude mcp add data-catalog -- npx -y @squadbase/data-catalog-mcp実行前に環境変数を設定してください。
export DATA_CATALOG_TENANT_ID="your-tenant-id"または .claude/settings.json で env を指定することもできます。
ローカルで直接実行する場合
git clone <this-repo>
cd mcp_data-catalog
npm install
npm run build
DATA_CATALOG_TENANT_ID="your-tenant-id" node dist/index.js提供ツール
semantic_search
自然言語でデータカタログを検索します(推奨)。GraphRAG ベースのセマンティック検索で、Global Search・Local Search・キーワードフォールバックを組み合わせた検索を行います。
パラメータ:
query(string, 必須) — 自然言語の検索クエリlayer_types(string[], 任意) —CATALOG,KNOWLEDGE,SEMANTIC,LINEAGEでフィルタsource_types(string[], 任意) —SAAS,DATABASE,DWHでフィルタlimit(number, 任意) — 最大取得件数(デフォルト 20、最大 100)mode(string, 任意) —auto(デフォルト),global,local
keyword_search
キーワードでデータカタログを検索します。名前やコンテンツの部分一致検索を行い、1-hop のグラフコンテキスト付きで結果を返します。
パラメータ:
query(string, 必須) — 検索キーワードlayer_types(string[], 任意) — レイヤータイプでフィルタsource_types(string[], 任意) — ソースタイプでフィルタlimit(number, 任意) — 最大取得件数(デフォルト 50、最大 200)offset(number, 任意) — ページネーションオフセット
list_nodes
データカタログのノード一覧を取得します。
パラメータ:
layer_type(string, 任意) — レイヤータイプでフィルタsource_type(string, 任意) — ソースタイプでフィルタlimit(number, 任意) — 最大取得件数(最大 200)offset(number, 任意) — ページネーションオフセット
get_node
ノード ID を指定して、単一ノードの詳細情報を取得します。
パラメータ:
node_id(string, 必須) — ノード ID
get_neighbors
指定ノードの 1-hop 隣接ノードとエッジ関係を取得します。データエンティティ間の関連を理解するのに便利です。
パラメータ:
node_id(string, 必須) — 中心ノードの IDrelation_types(string[], 任意) — リレーションタイプでフィルタ(例:FLOWS_TO,HAS_FIELD)
get_lineage
ノードのデータリネージ(データの流れ)を追跡します。上流(データの由来)または下流(データの行き先)を辿ることができます。
パラメータ:
node_id(string, 必須) — 起点ノードの IDdirection(string, 任意) —upstream(デフォルト)またはdownstreammax_depth(number, 任意) — 最大探索深度(1-10、デフォルト 5)
ライセンス
ISC
