Semantic Metrics Modeling Assistant
Semantic Metrics Modeling Assistant
本番運用に対応したMCPエージェントです。データチームがセマンティックメトリクスの定義・検証・可視化を、エンタープライズ級の永続化、信頼スコアリング、BIツール統合とともに行えるよう支援します。
概要
Semantic Metrics Modeling Assistantは、セマンティックレイヤーを扱うデータチームの認知的負荷を軽減するために設計されたModel Context Protocol(MCP)サーバーです。メトリクス定義のための対話型インターフェース、リネージと依存関係の視覚的フィードバック、そして永続ストレージを備えた高度な信頼インジケーターを提供し、チームがデータへの信頼を築けるよう支援します。
Related MCP server: DataHub MCP Server
主要機能
️ エンタープライズ向けデータ永続化
SQLite Database - 完全な監査トレヘル付きの永続ストレージ
5テーブル構成 - メトリクス、履歴、テスト、利用、信頼スコアを管管理
変更追跡 - すべてのメトリの変更の完全な履歴を記録
バージョン管理対応 - Git統合とロールバックを想定した設計
💬 対話型メトリクス定義
自然な会話でメトリクスを定義:
"Define 'Active Users' as daily unique logins"
"Create a metric for revenue per customer"
"What's the definition of our churn rate metric?"📊 BIツール統合
メトリクスを業界標準のプライフォームへエシスポート:
エクスポート (LookML) - 本番型のLookLファイルを生成
Tableau (TDS) - TableauのデータソースXMLとしていた
dbt - dbtのメトリックYAML定義を作成
目 高信頼スアの強化
重み付きアルゴリズムによる高度な品質評価:
テスト (重み35%) - 検証テストのカバレッジと合格率
利用 (重み20%) - チームンやダッシュボードでの採用状況
鮮度 (重み15%) - 時間減衰を考慮したデータの鮮度
ドキュメンテーション (重み15%) - 完結性と明確さ
オーナーシップ (重み15%) - 明確な説明責任
トレンド分析 - スパークラインで時系列の品質変動を追跡
可 可視化と依存関係
メトリクスの関係を理解するための現代的て視覚化オプション:
Mermaidダイアグラム - GitHub/Notion/Confluence向けの美しいフローチャート
ASCIIツリー - ターミナル向けの依存関係の可視化
影象分折 - 変更前の下流へののこと影響を把握
Cycle依存傾向の検出 - 競合を見つけて解消
✅ 包括的なテスト
本番での包括的テストカバレッジ:
35+ tests - データーース、信頼スコアリング、エクスポーター、テスト
pytestフレームワーク - フィクスを活用した業界基準のテスト
90%+カバレッジ - コア機能を網羅的に検証
CI/CD対応 - 継続インテグレーションのた自動テスティング
なぜ重要か
課題
データチームはシステム的た課題に面しています:
メトリクス氾濫 - 主要ビジネス指標の定義が複数存在し矛盾
信頼欠如 - 品質シグナルの欠いが、メトリクスの選び消抽出しと一貫性のないレポーティングを生む
認知的負荷 - 複雑な依存関係チェンとリネージの把握が困難
ガバナンスの分断 - オーナーシップと検証プロセが、属的また存在しない
解決策
本アシタントは、これらの課題を以下の措置で解決:
抽象化レイヤー - 自然言語でのインでYAML構成の複雑を抽象化
透明性の仕組み - 多次元の信頼スコアが品質を可視化
ガバナンスの自動化 - オーナーシップ、テスト、ドキュメンテーションのため
可測性を可能に - 利用の追跡き、鮮度の監視
アーキテクチャ
┌─────────────────────────────────────────┐
│ Conversational Interface (MCP Tools) │
├─────────────────────────────────────────┤
│ • define_metric() │
│ • validate_metric() │
│ • visualize_lineage() │
│ • check_trust_score() │
│ • search_metrics() │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Metric Repository │
├─────────────────────────────────────────┤
│ • Stores metric definitions │
│ • Tracks lineage and dependencies │
│ • Collects usage and quality metadata │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Data Source Integrations │
├─────────────────────────────────────────┤
│ • dbt project files │
│ • LookML models │
│ • YAML metric specs │
│ • SQL queries │
└─────────────────────────────────────────┘Quick ククックスタート
インストール
# Clone the repository
git clone https://github.com/jkelleman/semantic-metrics-modeling-assistant.git
cd semantic-metrics-modeling-assistant
# Install dependencies
pip install -e .
# Run the MCP server
python -m semantic_metrics.server
# Or run tests
pytest tests/データベースのセットアップ
初回動時にmetrics.dbというSQLiteデータベースを自動作作し、以下を格納します:
メトリクスの定義テーブル
変更履歴の追跡
検証テストの結果
利用統計
信頼スコアの変動
使用方法
新しいメトリクスを定義する:
define_metric(
name="Active Users",
description="Daily unique user logins",
calculation="COUNT(DISTINCT user_id) WHERE login_date = CURRENT_DATE",
owner="@data-team",
tags=["engagement", "daily"]
)高度な信頼スコアを確認する:
check_trust_score("Active Users")
# Returns:
# Trust Score: 87/100 ↗️
# Tests: 4 passing (35/35 points) ✅
# Usage: 12 dashboards, 8 users (18/20 points)
# Freshness: Updated 2 hours ago (14/15 points)
# Documentation: Complete with examples (15/15 points)
# Ownership: @data-team (15/15 points)
#
# Trend: ▂▄▆█ (improving over 30 days)
# Recommendations: Add integration tests for edge casesリネージを可視化する:
visualize_lineage("Revenue per Customer")
# Returns ASCII tree:
# Revenue per Customer
# ├── Total Revenue
# │ ├── Order Amount (raw.orders)
# │ └── Refunds (raw.refunds)
# └── Customer Count
# └── Unique Customers (raw.users)Mermaidダイアグラムを生成する:
generate_mermaid_diagram("Revenue per Customer")
# Returns:
# ```mermaid
# flowchart TD
# A[Revenue per Customer] --> B[Total Revenue]
# A --> C[Customer Count]
# B --> D[Order Amount]
# B --> E[Refunds]
# C --> F[Unique Customers]
# ```BIツールにエクスポートする:
# Export to Looker
export_to_looker("Active Users")
# Generates: active_users.lkml
# Export to Tableau
export_to_tableau("Active Users")
# Generates: active_users.tds (XML)
# Export to dbt
export_to_dbt("Active Users")
# Generates: active_users.ymlデザイン原則
1. 会話フーメート
複雑なYAML企を自然言語インターフェースで抽象化します。構文を記憶するのでななく、対話を重視して学習の壁を下げます。
2. 見せて語るな
テキス説明よるも視覚的に示します。リネージを有向非循環グラフィ(DAG)としてレンダーリングー、依存関係を直ちに解るるようにします。
3. 透明性から生る信頼
高品質のインジケタを第定義の属性として公開し、多次元の信頼スコアがメトリおとの信頼性に関するアクショナブルなシグナルをします。
4. 段階的開示
高レベルの概のみをデフォルトで表ししながら、詳細を掘り下げ可能な情報階層ををします。
5. デフォルトのガバナンス
ガインを妨げないデフォルトの仕組みで実装。プンプト・検証・必須フィールドで、摩擦なくベストプラクティスを実践します。
主な利用シーン
データチーム当員
「誰もが信頼でき、顧客生涯価値を表すメトリを作成したい」
アシスタントの支援内容:
メトリックスの定義を分かり易い言葉でサポート
SQLロジックの検証
類似していメトリクスの有無を確認
オーナーシップとドキュメンテーションの設定
メトリックスのル集計への追加
分析エンジニア
「ダッシュボードが財務部と異なる売上数値を表示しているのはなぜ」
アシスタントの支援内容:
売上に関わる異なるメトリックスの定義を比較
リネージとデータの出所を表示
定義が分岐する箇所を特定
標準とすべきメトリックスを推奨
データ責任者
「どのメトリクスが最も重要で、より良い管理が必要か」
アシスタントの支援内容:
メトリクスを利用状況と信頼スコアで表示
利用は多いが信頼度の低いメトリクスを特定
ガバナンスの対象カバーを追跡
メトリクスの健全性を継続的なトレンドで確認
技術スタック
Python 3.10+ - コア言語
FastMCP - MCPプロトコルの実装
SQLite - 永続データベースのストレージ
pytest - 35以上のテストを備えたテストフレームワーク
YAML/JSON - メトリクスコ定義とエクスポート
Mermaid - モダンなダイアグラム生成
MCPツール (全13種)
メトリュクス管理
Tool | Purpose | Returns |
| メトリクスの既成・更新 | 確認メッセージ + 信頼スコア |
| 名前・タグ・オーナーでメトリックスを検索 | 該当するメトリクスの一覧 |
| SQL構文とロジックを検証 | 検証結果 + 提案 |
品質と信頼
Tool | Purpose | Returns |
| 重み付き品質スコアの計算 | スコアの内訳 + トルンド + 推奨事項 |
| 実行可能な品質改の提案 | 優順位の改善リスト |
可視化
Tool | Purpose | Returns |
| ASCIIラーップの依存ツリーを表示 | フォーマットされた図表 |
| モダンなフローチャート作 | Mermaidのマークダウン記法 |
| 横並べてメトリー比較 | 差分をハイライト表示 |
------------------- | ----------------------------------- | ----------------------------- |
エクスポートと統合
Tool | Purpose | Returns |
| LookLファイルを生成 | 本番用の .lkml |
| Tableauのデータソースを生成 | TDS XML形式 |
| SQL (dbt) のメトリックYAMLを生成 | dbt互換の .yml |
高度な機能
Tool | Purpose | Returns |
| 変更が下流に与える影響を検証 | 影響を受けるダッシュボード・メトリクス |
これは何を示すか
UXスキル
認知的負荷の低減 - 複雑とシステムを単純化するレイヤを設計し、力を損なわず扱
信頼のデザイン - 透明性の高い品質シグナルと、重み付きアルゴリズムで信頼性を築
段階的開示 - 探索やすさと、詳のその明を両空間をバランスする情報アーキす
対話型UI - 自然言語でテク数設定を行えるインターフェース
技術スキル
MCP開発 - 13ツールの本番運用向けエージェントと、1,500+行のコード
データベース設計 - 5テーブル構成と、完全な監査トレルのSQLite永続層
データモール - セマンティック・リイヤーのデザイン・パターンとメトリクス定義
システム設計 - には、ガバナンスー自動制御、監視インスツルメント
テスト - pytest にpytest、本番90%以上のコアカバレッジの35テスト
統合パターン - Looker、Tableau、dbt向けのBIエクスポータ
ドメインの専門性
メトリクスのガバナンス - オーナーシップ・モデルなどの構ート、検証フレーム、ドキュメンテーショーン基準の確立
データ・リネージ - 依存グラフ構築と影響分折
データ観測性 - 鮮度トラッキング、時間減衰た品質モニタリング、リの分析
セマンティックレイヤー - モダなデータスタックのパターンとメトリ・モデリングのベスと
このプロジェクトの意義
Microsoftリードなどで、データとAIシステムを扱いし、Principal Content Designer as Microsoft として働く私がこのプロジェクトを支えています。
データチームの現実の課題を深く理解し、データの資産価値 を高めるこれらの実験や経験は、複雑なプロダク環境の中でも通用す、次のです:
データチームの課題の深い理解 - 本番環境での実践からメトリ多と信頼欠く取り組みを学ん
テクニカルユーザーの体験設計 - システムを力を保ちながら、混雑さを扱えるようにするUXレイヤを作る達
信頼と観測でのデザイン - 透明な計測と重み付きアルゴリズムで、エンタープライズのデータガバを実装ナンス
AI支援のワフロー - MCPを活用し、人の意思決定とドメイン知を置き的えにはより強化する
本番にそのまま使える実装 - 35+つのテスト、データベースのが継続、BI連携まで実装済み
これはエンタープライズ・データ基盤のあるべき人中心のデザインです。摩擦のないガバナンス、測定可能な信頼、を楽な管すシンプルさを重視しています。
最近の改善
✅ SQLite Database - 永続、5テーブル構成
✅ BI統合 - Looker / Tableau へのエクスポート
✅ 強化された信頼スコア - 重み、トレンド対応のアルゴリズム
✅ Mermaidダイアグラム - モダンな可視表現
✅ テスト一式 - pytest35+以上、95%以上のカバレッジ
表の覚な詳細は、IMPLEMENTATION_SUMMARY.md を参照。
Inform Me
Jen高Kelleman Staffデータデザイン
私は、AIとデータの組み込みに、透明性の高いプルセスとデザインを提すための製品のデザインをしています。
コネクト
其そのプのジェク
MCP-Oreilly - コンテンツデザイン、ミーティング分析、ドキュメント作成のための本番向けMCPエージェント3つ
AI Content Design Handbook - AIシステム向けUXライティングの包括的ガイド
データガバナンスを人間中心に、一度にひとつの指標から。
This server cannot be deployed
Maintenance
Related MCP Connectors
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
- AvoOAuthio.github.avohq
Define, ship & query your analytics tracking from one source of truth, trusted by humans and agents.
Cross-tool context for your data stack. Search, lineage, and impact across warehouse and BI tools.
The AI data platform for commerce: Shopify, Amazon, ads and Klaviyo data with metrics defined once.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA production-ready MCP agent that helps data teams define, validate, and visualize semantic metrics with enterprise-grade persistence, trust scoring, and BI integrations.5-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search, explore data lineage, understand business context, and generate SQL queries across an organization's data ecosystem.Apache 2.0
- AlicenseBqualityBmaintenanceEnables agents to interact with a governed semantic layer for querying and authoring metrics, providing tools for discovery, planning, validation, and execution of analytics queries.301,201 PyPI2Apache 2.0
- AlicenseAqualityBmaintenanceEnables agents to query curated metrics through a registry-backed semantic layer, preventing ad-hoc SQL and enforcing consistent definitions. Every numeric claim is verified against the underlying query result before it is allowed to be sent.4MIT