Skip to main content
Glama
Delta-Haseeb

Semantic Metrics Modeling Assistant

by Delta-Haseeb

Semantic Metrics Modeling Assistant

Python 3.10+ MCP FastMCP License: MIT Tests

本番運用に対応したMCPエージェントです。データチームがセマンティックメトリクスの定義・検証・可視化を、エンタープライズ級の永続化、信頼スコアリング、BIツール統合とともに行えるよう支援します。


概要

Semantic Metrics Modeling Assistantは、セマンティックレイヤーを扱うデータチームの認知的負荷を軽減するために設計されたModel Context Protocol(MCP)サーバーです。メトリクス定義のための対話型インターフェース、リネージと依存関係の視覚的フィードバック、そして永続ストレージを備えた高度な信頼インジケーターを提供し、チームがデータへの信頼を築けるよう支援します。

Related MCP server: RunContext

主要機能

️ エンタープライズ向けデータ永続化

  • 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

define_metric()

メトリクスの既成・更新

確認メッセージ + 信頼スコア

search_metrics()

名前・タグ・オーナーでメトリックスを検索

該当するメトリクスの一覧

validate_metric()

SQL構文とロジックを検証

検証結果 + 提案

品質と信頼

Tool

Purpose

Returns

check_trust_score()

重み付き品質スコアの計算

スコアの内訳 + トルンド + 推奨事項

suggest_improvements()

実行可能な品質改の提案

優順位の改善リスト

可視化

Tool

Purpose

Returns

visualize_lineage()

ASCIIラーップの依存ツリーを表示

フォーマットされた図表

generate_ermaid_diagram()

モダンなフローチャート作

Mermaidのマークダウン記法

compare_metrics()

横並べてメトリー比較

差分をハイライト表示

-------------------

-----------------------------------

-----------------------------

エクスポートと統合

Tool

Purpose

Returns

export_to_looker()

LookLファイルを生成

本番用の .lkml

export_to_tableau()

Tableauのデータソースを生成

TDS XML形式

export_to_dbt()

SQL (dbt) のメトリックYAMLを生成

dbt互換の .yml

高度な機能

Tool

Purpose

Returns

analyze_impact()

変更が下流に与える影響を検証

影響を受けるダッシュボード・メトリクス

これは何を示すか

UXスキル

  • 認知的負荷の低減 - 複雑とシステムを単純化するレイヤを設計し、力を損なわず扱

  • 信頼のデザイン - 透明性の高い品質シグナルと、重み付きアルゴリズムで信頼性を築

  • 段階的開示 - 探索やすさと、詳のその明を両空間をバランスする情報アーキす

  • 対話型UI - 自然言語でテク数設定を行えるインターフェース

技術スキル

  • MCP開発 - 13ツールの本番運用向けエージェントと、1,500+行のコード

  • データベース設計 - 5テーブル構成と、完全な監査トレルのSQLite永続層

  • データモール - セマンティック・リイヤーのデザイン・パターンとメトリクス定義

  • システム設計 - には、ガバナンスー自動制御、監視インスツルメント

  • テスト - pytest にpytest、本番90%以上のコアカバレッジの35テスト

  • 統合パターン - Looker、Tableau、dbt向けのBIエクスポータ

ドメインの専門性

  • メトリクスのガバナンス - オーナーシップ・モデルなどの構ート、検証フレーム、ドキュメンテーショーン基準の確立

  • データ・リネージ - 依存グラフ構築と影響分折

  • データ観測性 - 鮮度トラッキング、時間減衰た品質モニタリング、リの分析

  • セマンティックレイヤー - モダなデータスタックのパターンとメトリ・モデリングのベスと

このプロジェクトの意義

Microsoftリードなどで、データとAIシステムを扱いし、Principal Content Designer as Microsoft として働く私がこのプロジェクトを支えています。

データチームの現実の課題を深く理解し、データの資産価値 を高めるこれらの実験や経験は、複雑なプロダク環境の中でも通用す、次のです:

  1. データチームの課題の深い理解 - 本番環境での実践からメトリ多と信頼欠く取り組みを学ん

  2. テクニカルユーザーの体験設計 - システムを力を保ちながら、混雑さを扱えるようにするUXレイヤを作る達

  3. 信頼と観測でのデザイン - 透明な計測と重み付きアルゴリズムで、エンタープライズのデータガバを実装ナンス

  4. AI支援のワフロー - MCPを活用し、人の意思決定とドメイン知を置きえにはより強化する

  5. 本番にそのまま使える実装 - 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ライティングの包括的ガイド


データガバナンスを人間中心に、一度にひとつの指標から。

F
license - not found
Not graded
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Query SQL databases (SQLite, PostgreSQL, BigQuery, Databricks) in natural language through a business semantic layer — glossary, metrics, and a data dictionary grounded against your real schema. Read-only by default, with an embedded SQLite + sqlite-vec metadata store and no external infra required.
    25
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to understand and query your database safely by providing a semantic layer of metadata, with tools to search, explain, validate, and generate safe SQL.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language querying of databases with multi-turn conversations, auto-generated charts, and proactive monitoring via scheduled queries and alerts.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.

  • Define, ship & query your analytics tracking from one source of truth, trusted by humans and agents.

  • Data observability tools for engineering teams: alerts, freshness, schema drift, lineage, quality.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Delta-Haseeb/semantic-metrics-modeling-assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server