1. Conduid
  2. Science
  3. Metamesh
MCP server · Science

Metamesh

W3C-standard ontology (SKOS/OWL/JSON-LD) + MCP server + Claude Skills. Captures business metadata once and delivers it to dbt, Semantic Layer, and AI/LLM contexts - bridging the 5 breakpoints where vocabulary gets lost downstream.

34Low

Scored a month ago · breakdown

About Metamesh

Metamesh is an MCP server published by Islanders-Treasure0969 in the Science category: w3C-standard ontology (SKOS/OWL/JSON-LD) + MCP server + Claude Skills. Captures business metadata once and delivers it to dbt, Semantic Layer, and AI/LLM contexts - bridging the 5 breakpoints where vocabulary gets lost downstream.

The repository has 1 stars and 0 forks, with the last commit 2 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/Islanders-Treasure0969/metamesh

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (3)

add_concept概念 (skos:Concept) を 1 件登録。多言語ラベル・同義語・階層・関連・DV/Kimball 拡張に対応

Parameters not published.

add_relationship関係性 (owl:ObjectProperty) を 1 件登録。domain / range / 逆関係 / 拡張

Parameters not published.

query_conceptキーワード or SPARQL で検索。SPARQL は SELECT / CONSTRUCT / DESCRIBE / ASK をサポート

Parameters not published.

Ask AI

✦

Ask AI about Metamesh

Powered by Claude · Grounded in docs

I know everything about Metamesh. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.

1 check has not been run yet.

README

metamesh

モデルストーミング(DV / Dimensional)で生まれるビジネスメタデータを W3C 標準 (SKOS / OWL / JSON-LD) で 1 箇所に保存し、 MCP 経由で Claude が直接読み書き することで、 dbt / Semantic Layer / AI/LLM すべてに同じ意味を届けるフレームワーク。

metamesh はドメイン非依存の OSS。実装例は別リポジトリで管理する。 現在の参照実装: vtuber-analytics (VTuber 配信メタデータをこのフレームワークで構造化したもの)。

立ち位置を一文で: 業務担当者と AI が同じ「業務概念の SSoT」を共有するための、 モデルストーミング駆動のワークフロー OSS。隣接する semantic layer / catalog / GraphRAG エコシステムとは 競合ではなく上流補完 の関係。詳細は POSITIONING.md。

解こうとしている問題

データ基盤の下流に行くほど ビジネスメタデータ(人間の頭の中の知識)が削られていく。

モデルストーミング成果物 (情報量 100%)
  → DV/Mart 実装        (情報量 30%: 定義が削れる)
    → Semantic Layer    (情報量 15%: ビジネス定義が消える)
      → Data Catalog    (情報量 10%)
        → AI / LLM      (情報量  5%: 構造は分かるが意味が分からない)

「得意先別売上」と「顧客別売上」が同じクエリにならない、配信者と チャンネルとサブチャンネルの関係が AI に伝わらない、といった現象は、 5 つの断絶点 で同義語・階層・関係性の意味・実装の対応がそれぞれ 失われることが原因。

詳細: docs/PROJECT_CONTEXT.md(フレームワーク 全体)。

metamesh の設計思想

原則 帰結
Single Source of Truth = W3C 標準のオントロジー 独自フォーマットは作らない。ontology/concepts/*.jsonld と ontology/relationships/*.jsonld だけが信じる対象
MCP は薄く、データは厚く 書き込み 2 / 読み取り 1 が core。残りは optional な bulk export
ワークフローは Skills へ CBC インタビュー・NBR 設計・DV 実装方針などは Claude Skills として配布。コードに固めない
下流生成はクライアント側で都度合成 「Mermaid で可視化」「dbt schema.yml に変換」は Claude が SPARQL で取って即時生成すれば済む
ドメインデータは外部に持つ metamesh 自身は概念・関係性を保持しない。ユーザーが METAMESH_ONTOLOGY_ROOT で自分のオントロジーディレクトリを指す

構成要素

┌──────────────────────────────────────────────────┐
│  ユーザー (データエンジニア / 研究者)               │
│       ↕ 自然言語                                   │
│  Claude Desktop / Code                            │
│  ├─ Skills (.claude/skills/)                       │
│  │  ├─ cbc-modeling-interview         (DV)         │
│  │  ├─ nbr-identification             (DV)         │
│  │  ├─ dv-implementation-design       (DV)         │
│  │  ├─ beam-modeling-interview        (Kimball)    │
│  │  ├─ dimension-fact-identification  (Kimball)    │
│  │  ├─ star-schema-design             (Kimball)    │
│  │  ├─ ontology-visualize             (汎用)       │
│  │  └─ ontology-review                (汎用)       │
│       ↕ MCP                                        │
│  metamesh server  (薄い primitive)                 │
│  ├─ Write : add_concept, add_relationship          │
│  └─ Read  : query_concept (SPARQL: SELECT/         │
│              CONSTRUCT/DESCRIBE/ASK)               │
│       ↕ METAMESH_ONTOLOGY_ROOT                     │
│  ontology/ (ユーザー自身が用意するディレクトリ)      │
│    ├── concepts/*.jsonld                          │
│    └── relationships/*.jsonld                     │
└──────────────────────────────────────────────────┘

クイックスタート

1. 依存インストール

git clone https://github.com/Islanders-Treasure0969/metamesh.git
cd metamesh
uv sync --extra dev
uv run pytest          # 動作確認 (69 tests)

2. オントロジーディレクトリを用意する

metamesh 自身はドメインデータを持たない。自分のオントロジーディレクトリを 作る (空でも OK、最初の add_concept で生成される):

mkdir -p ~/my-ontology/{concepts,relationships}
export METAMESH_ONTOLOGY_ROOT=~/my-ontology

または既存の例を借りる:

git clone https://github.com/Islanders-Treasure0969/vtuber-analytics
export METAMESH_ONTOLOGY_ROOT=$PWD/vtuber-analytics/ontology

3. Claude Desktop に登録

~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "metamesh": {
      "command": "/path/to/uv",
      "args": [
        "--directory", "/path/to/metamesh",
        "run", "python", "-m", "metamesh.server"
      ],
      "env": {
        "METAMESH_ONTOLOGY_ROOT": "/path/to/your/ontology"
      }
    }
  }
}

uv のフルパスは which uv で取得 (PATH を継承しない環境があるため絶対パス推奨)。

4. 最初の概念を作る

Claude にこう話しかけるだけ:

「Streamer って概念を metamesh に追加して」

cbc-modeling-interview Skill が起動して、Claude が CBC Form 相当の 質問を順番に投げてくれる。回答すれば自動的に <METAMESH_ONTOLOGY_ROOT>/concepts/Streamer.jsonld が生成される。

MCP ツール一覧

Core (3)

書き込みと検索の最小セット。通常はこれだけで完結する。

Tool 用途
add_concept 概念 (skos:Concept) を 1 件登録。多言語ラベル・同義語・階層・関連・DV/Kimball 拡張に対応
add_relationship 関係性 (owl:ObjectProperty) を 1 件登録。domain / range / 逆関係 / 拡張
query_concept キーワード or SPARQL で検索。SPARQL は SELECT / CONSTRUCT / DESCRIBE / ASK をサポート

Optional bulk exporters (3)

CI で一括書き出しする等の用途には便利。通常運用では query_concept で 都度引いて Claude が必要な形に変換すれば足りるので、必須ではない。

Tool 用途
generate_dbt_yaml オントロジー → schema.yml (description + meta)
generate_semantic_layer オントロジー → MetricFlow YAML (semantic_models + entities)
export_llm_context オントロジー → Markdown digest (LLM プロンプト貼付用)

実出力サンプルは vtuber-analytics の output/ を参照。

SPARQL 実例集

query_concept(sparql=...) で叩ける。CONSTRUCT / DESCRIBE は subgraph を triples で返すので、Claude が即座に Mermaid やテーブルに変換可能。

全 Hub と business_key を一覧

PREFIX dv: <https://metamesh.dev/ext/dv/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?label ?hub ?bk WHERE {
    ?c dv:hub ?hub ;
       dv:business_key ?bk ;
       skos:prefLabel ?label .
    FILTER(LANG(?label) = "ja")
}
ORDER BY ?hub

特定概念の近傍 subgraph (CONSTRUCT)

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
CONSTRUCT { ?s ?p ?o }
WHERE {
    { <https://metamesh.dev/ontology/Streamer> ?p ?o . BIND(<https://metamesh.dev/ontology/Streamer> AS ?s) }
    UNION
    { ?s ?p <https://metamesh.dev/ontology/Streamer> . BIND(<https://metamesh.dev/ontology/Streamer> AS ?o) }
}

→ Claude が triples を Mermaid に変換して即時可視化。

N:M 関係性だけ抽出

PREFIX dv: <https://metamesh.dev/ext/dv/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?rel ?domain ?range WHERE {
    ?rel dv:cardinality "N:M" ;
         rdfs:domain ?domain ;
         rdfs:range ?range .
}

可視化について

metamesh は組み込みの可視化コマンドを持たない。理由:

  1. SPARQL (CONSTRUCT) で subgraph を取れば、Claude が文脈に応じた最適な 形式 (Mermaid / Graphviz / 表 / Cytoscape JSON) で都度レンダリングできる
  2. オントロジー編集の標準ツール (Protégé / WebVOWL) は metamesh の 出力する JSON-LD を直接食える。深い分析はそちらに任せた方が劣化しない

この設計の具体実装が ontology-visualize Skill。「Mermaid で見せて」「N:M 関係だけ図示して」「Streamer 周辺だけ」等の自然言語要求を SPARQL CONSTRUCT に変換 → triples を Mermaid に変換 → チャットに直貼り、を 1 プロンプトで 完結する。.claude/skills/ontology-visualize/SKILL.md 参照。

オントロジー直接編集 (advanced)

オントロジーは生 JSON-LD ファイルなので、好きなツールで開いて手で書ける:

  • Protégé で <METAMESH_ONTOLOGY_ROOT>/concepts/*.jsonld を順次 import
  • WebVOWL に JSON-LD をアップロードして可視化
  • 任意のテキストエディタ + git diff レビュー

add_concept / add_relationship は rdflib で round-trip 検証してから 保存するので、これらツール経由で書いた場合は別途整合性確認を推奨 (uv run pytest で構造テスト)。

参照実装: vtuber-analytics

Islanders-Treasure0969/vtuber-analytics は metamesh のフレームワークを VTuber 分析に適用したリポジトリ。

  • 7 概念 + 6 関係性のオントロジー (Streamer / Channel / Stream / Org / Collaboration / Clip / Topic)
  • metamesh が生成した dbt / MetricFlow / LLM context のサンプル
  • Holodex API でオントロジーの dv:business_key を実データ検証するスクリプト

「metamesh をどう使うか」の具体例として、また自身の VTuber 分析プロジェクト として、独立したリポジトリで運用される。

開発

uv sync --extra dev    # ruff / pytest / pytest-asyncio
uv run pytest -v       # 69 tests
uv run ruff check .

ロードマップ (フレームワーク本体)

Step スコープ 状態
1 add_concept ツール ✅
2 add_relationship / generate_dbt_yaml ✅
3a generate_semantic_layer / export_llm_context / query_concept ✅
3b cbc-modeling-interview Skill ✅
3c nbr-identification Skill ✅
3d ontology-visualize Skill ✅
3e ontology-review Skill ✅
3f dv-implementation-design Skill ✅
3g beam-modeling-interview Skill (Kimball 系入口) ✅
4a dimension-fact-identification Skill (#19) ✅
4b star-schema-design Skill (#20) ✅
4c 複数 extension サポート (#21) ✅
5a OSI (Open Semantic Interchange) export — オントロジー → OSI YAML (現状の core-spec タグは v0.1.1、v1.0 系として公式アナウンス済み) 未着手
5b PyPI 公開 (pip install metamesh) 未着手
6a SHACL バリデーション 未着手
6b add_metric (MetricFlow メトリクス定義のオントロジー化) 未着手
6c Neo4j / LPG export — オントロジー → Neo4j n10s / LPG (GraphRAG 連携) 未着手
7 OSI bidirectional (import) / GraphRAG bridge 構想中

関連資料

License

Apache-2.0

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Metamesh

How do I install Metamesh?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Metamesh safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 5 of the 5 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Metamesh still maintained?

Yes — the last commit was 2 months ago. The repository has 1 stars and 0 forks and 20 open issues.