DataPulse について
DataPulseはマレーシアの公共データ向け読み取り専用検証レイヤーで、AI開発者、研究者、ジャーナリスト、コンプライアンスチームを対象としています。鮮度、ライセンス、構造変更、来歴を追跡し、第三者が検証できる署名付き観測記録を公開します。
主な機能
- 01公共データセット440件のカタログ
- 02明示的な10種類の健全性ステータス
- 03鮮度、ライセンス、来歴の情報
- 04署名付き観測記録と公開ログの証拠
- 05読み取り専用のデータセット検索と確認
活用シーン
- 01数値の引用前にデータの鮮度を確認
- 02マレーシアのデータの再利用条件を確認
- 03分析対象のデータソースの変化を追跡
- 04検証可能なソース確認記録を保持
MCP 対応
認証不要の公開MCPエンドポイントで、440件のカタログを検索・確認する読み取り専用ツールを19個提供します。鮮度、ライセンス、構造、証拠、来歴を照会できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.data-pulse.my/mcpclaude mcp add --transport http r3dz4r-datapulse-my https://mcp.data-pulse.my/mcp{"mcpServers":{"r3dz4r-datapulse-my":{"type":"http","url":"https://mcp.data-pulse.my/mcp"}}}Cursor で開く{"servers":{"r3dz4r-datapulse-my":{"type":"http","url":"https://mcp.data-pulse.my/mcp"}}}VS Code で開く{"mcpServers":{"r3dz4r-datapulse-my":{"type":"http","url":"https://mcp.data-pulse.my/mcp"}}}{"mcpServers":{"r3dz4r-datapulse-my":{"serverUrl":"https://mcp.data-pulse.my/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
19| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返す検索結果の最大数です(関連度の高い順)。例:10。省略時は 10 となり、順位には影響しません。 |
| query | string | はい | 検索候補の順位付けに使用するトピックまたはタスクの表現です。例:「マレーシアの公開データ インフレ」。返された id を get_dataset で使用してください。 |
| source | any | いいえ | 任意の発行元/ソース部分文字列フィルターです。順位付けの前に適用されます。例:「OpenDOSM」。省略すると、すべてのソースを検索します。 |
| licence | any | いいえ | 任意のライセンス名または対応する別名の完全一致フィルターです。順位付けの前に適用されます。例:「CC BY 4.0」。省略すると、すべてのライセンスを検索します。 |
詳細
DataPulse
ライブダッシュボード: https://www.data-pulse.my
🤖 AI エージェント対応 — 設定ブロックを1つ追加するだけで、DataPulse を Claude Desktop、Cursor、Cline、または MCP 対応の任意のクライアントに接続できます。エージェントは、
440件のマレーシア公式データセット — **30件のGTFS交通フィード(KTMB、 Prasarana、BAS.MY)**を含む — を利用できます。ライセンスが明示され、画一的な緑のチェックマークではなく、正直な10段階の信頼性分類が付与されています。
DataPulseについて
AIによる引用が誤っている場合、その原因はモデルの幻覚ではなく、元データが古い、ライセンスが不適切、または検証不能であることがよくあります。公式らしく見えるページだけでは、その背後にあるデータセットが最後に更新された時期、公開者、合法的に再利用できるかどうか、あるいは別の第三者が観測結果を再現できるかどうかは、エージェントにはわかりません。
DataPulseは、マレーシアの公共データを検証するオープンな読み取り専用レイヤーです。data.gov.my、Bank Negara Malaysia、DOSM、Department of Environment、Ministry of Health、KPDN、MET Malaysiaを通じて公開されているマレーシアの公式オープンデータを継続的に監視し、各データセットについて、ソースにアクセスできるか、データがどの程度新しいか、どのライセンスが適用されるか、構造やレコード数に変化があったか、観測結果に署名した時期といった、機械可読な証拠を公開します。各データセットには画一的な緑のチェックマークではなく、明示的な10種類のステータスが付与され、公開された各観測結果は第三者が検証できます。レシートには署名が付いており、署名鍵は有効期間やローテーション履歴とともに公開され、単一ファイルの検証ツールを使えばDataPulseをインストールせずに検証を再現できます。DataPulseは公式ソースに取って代わるものではなく、公開者のデータが内容面で正しいと認定するものでもありません。ソースの状態を観測可能にし、その観測結果を再現可能にします。
公式データセット440件
簡単に言うと、私たちがしていること
- データソースを監視します。 定期的なプローブで、各データセットを申告された頻度に従って再確認し、実際に確認できた内容、つまりアクセス可能性、正直な鮮度情報、スキーマの形状、レコード数、収集時の特性を記録します。
- 事実を率直に示します。 画一的な緑のチェックマークではなく、各データセットに10種類の正直な健全性ステータス(
fresh、aging、stale、discontinued、degraded、browser-dependent、unreachable、unknown、unknown-freshness、reference)を付与します。鮮度を証明できないデータセットには、健全であると暗黙に扱うのではなく、unknown-freshnessというラベルを付けます。 - 主張だけでなく、証拠を公開します。 日付入りの各観測結果に署名し、改変不可能な公開ログに記録します。そのため、DataPulseがソースをいつ観測したか、また記録が改変されていないことを検証できます。
- 機械可読性を第一にしています。 すべてのデータセットを1つのインデックスから見つけられ、読み取り専用のMCPサーバー経由で照会できます。そのため、エージェントは慎重な人間のレビュー担当者と同じ鮮度、ライセンス、出所の情報を受け取ります。
このサービスの対象者
- AI ビルダーやエージェント開発者:マレーシアの統計値を引用する前に、その数値の最新性とライセンスをモデルに確認させたい方。独自の統合を構築したり、スクレイピングのパイプラインを信頼したりする必要はありません。
- 研究者、アナリスト、ジャーナリスト:最新性とライセンスを実際に確認できるデータに基づいて、課題、論文、ダッシュボード、公開する統計値を作成したい方。
- コンプライアンスおよび規制モニタリングのチーム:公式統計値が製品や公的な声明に使われる前に、既知の時点で確認されたことを示す、改ざんを検知できる記録を維持する必要がある方。
- シビックテックの技術者や公務員:公共データがどれだけ発見しやすく、信頼性のある説明が付されているかを、透明性と再現性のある形で確認したい方。
検証を信頼できる理由
独立して確認できる3つのレイヤーがあります。DataPulse の言葉をそのまま信じる必要はありません。公開鍵、公開されている Git のソース記録、公開透明性ログを使って、それぞれを検証できます。
| レイヤー | 証明する内容 | 自分で確認する方法 |
|---|---|---|
| 署名付きエンベロープ | データセットごとの各観測結果は、公開されたレジストリに登録された鍵によって、内容そのものに対して Ed25519 署名 されています | python3 scripts/verify_external.py |
| 記録のソース | 提供される観測結果は、バージョン管理された Git ソースと バイト単位で一致 します | python3 scripts/verify_external.py |
| 時間的証明 | ヘルスステートメントには、Rekor/Sigstore 公開ログの包含証明 が含まれています | python3 scripts/verify_external.py |
チェックアウトも DataPulse のコードも不要で、どこからでも自分で実行できます。
curl -fsSLO https://raw.githubusercontent.com/r3dz4r/datapulse-my/main/scripts/verify_external.py
python3 verify_external.py
詳しい手順については、DataPulse を外部から検証するをご覧ください。また、健全性の判定方法については、以下の方法論をご覧ください。
観測レシートを検証する
scripts/observation_verify.py は、ローカルファイルからレシートの識別情報、署名、鍵レジストリの有効性、および利用可能なチェーンのリンクを検証します。どのモードでもネットワークへの接続は行いません。--health <artifact> を指定すると、正規化されたアーティファクトのダイジェストを再現し、データセットと鮮度ステータスに関する主張を再導出します。これらの主張を証明するのは、health_binding: checked と artifact_claims: verified の場合のみです。--health を指定しない場合、レポートには artifact_claims: NOT verified と明記されます。この不完全な結果を失敗として扱う必要がある場合は、--require-health-binding を使用してください。
署名付きの <commit>@<path> アーティファクトロケーターを含むレシートの場合は、--repo owner/name を渡すと、対応する不変の raw-GitHub URL が表示されます。リポジトリは指定するものであり、推測したりハードコードしたりすることはありません。その URL は別途取得し、保存したファイルを --health に渡してください。ローカルでのダイジェストと主張の検証が成功するまでは、URL は発見の手がかりであって証明ではありません。
検証レイヤーの誠実さは、その手法に左右されます。そのため DataPulse は、確実だと言えない場合はその旨を示します。最新であることを証明できないソースにはその旨が表示され、健全であると黙って判定されることはありません。ここにこそ、私たちが守る境界があります。プラットフォームが証明するのは 観測結果 の完全性と時刻であり、上流の政府統計値が意味的に正しいことではありません。この区別こそがエビデンスレイヤーの要であり、私たちは両者を曖昧にしません。
データセットの健全性
健全性は fresh、aging、stale、discontinued、degraded、
browser-dependent、unreachable、unknown、unknown-freshness、または
reference として報告されます。鮮度が不明とは、URL とコンテンツの形式は機能しているものの、
Last-Modified ヘッダーも解析可能なコンテンツの日付もなく、データがいつ更新されたかを確認できない状態です。リファレンスとは、バージョン管理された検索データにアクセスでき、レコード数も計測されている一方、日付に基づく鮮度判定の対象ではない状態です。カタログ内では、data_type によってリファレンスの種類が細分化されますが、ステータスは変わりません。policy-reference
行(後継の状態に置き換わるまで有効なポリシーの状態 — BNM OPR は変更がない限り最新であり、古くなったわけではありません)と、reference-current 行(銀行金利表のように、それ自体が古くなる可能性があり、引き続き鮮度の確認が必要な検索データ)は、宣言されたポリシーに従って判定されます。一方、通常の reference 行は静的です。公開されている
_trust_summary には分布が示され、鮮度と行数のシグナルが欠落している件数も明示されています。
公開終了 — データソースが新しいデータの公開を停止しています。データは最後に確認されたコンテンツの日付のまま凍結されています。これは鮮度の問題ではなく、公開元の判断です。
現在の分布(_trust_summary):143 件が最新 · 130 件が古くなりつつある · 120 件が古い · 1 件が公開終了 · 1 件が劣化 · 3 件が到達不能 · 6 件が鮮度不明 · 36 件がリファレンス
購読: RSS フィード — データセットの健全性が変化したときに通知を受け取れます。
ブラウザー依存のデータセット
現在の健全性サマリーによると、ソースページがクライアント側 JavaScript で描画されるため、プローブに実際のブラウザーを必要とする**ブラウザー依存のソースは 0 件(カタログの 0.0%)**です。
DataPulse は、これらのソースをプローブするために、セルフホスト型のパッチ適用済みヘッドレス Chromium サイドカーである Camofox を使用します。プローブの処理経路は
check.sh → Camofox サイドカー → DOM スナップショット →
コンテンツ日付の抽出です。
ブラウザープローブを有効にするには:
- 到達可能なアドレスで Camofox Docker サイドカーを実行します(デフォルトは
http://localhost:9377)。プローブスクリプトと GitHub Actions ワークフローは、CAMOFOX_BASE_URL環境変数からこの値を取得します。このリポジトリ内にパブリック IP が埋め込まれることはありません。 CAMOFOX_BASE_URLをそのアドレスに設定します。- タイマーを
systemctl restart datapulse-health.timerで再起動します。
Camofox がない場合、これらのデータセットは browser-dependent のままになります。これは正直なステータスです。DataPulse はブラウザーなしではプローブできないため、無言で失敗するのではなく、そのことを示します。個別に実行するスモークテストについては、
scripts/smoke_browser_probes.sh を参照してください。
方法論
| トピック | DataPulse の方針 |
|---|---|
| 健全性ステータス | 到達可能性と、信頼できる鮮度シグナル(Last-Modified、解析可能なコンテンツの日付、または宣言されたポリシー)に基づいて判定する10段階の分類です。事実に反する緑色のチェックマークは決して表示しません。公開が停止したシリーズは、鮮度の問題ではなく、discontinued(公開元の判断によるデータの凍結)とします。 |
| ライセンス | すべてのデータセットで、機械可読な形式でライセンスを宣言しています。CC0-1.0(15件);Creative Commons Attribution 4.0(285件);Department of Statistics Malaysia Open Data License(7件);MBPP Government Open Data Terms(帰属表示が必要)(1件);MIT License(8件);Open Government Licence (Malaysia)(115件);公開元のライセンスは明記されておらず、ポータルの免責事項が適用されるもの(4件);Singapore Open Data Licence v1.0(帰属表示が必要)(5件)。第三者は datapulse.json → .datasets[].licence から同じ情報を再現できます。 |
| 鮮度の確認頻度 | 各データセットを、それぞれの階層別スケジュール(5分タイマー、更新頻度を考慮)で確認します。たとえば、参照データは daily、燃料価格は weekly、調査データは monthly などです。常に、人が読める steward と、公開元の来歴を示す安定した custodian ID を付与します。 |
| 来歴 | データセットごとに安定した custodian を設定し、各観測に署名付きの確認証明を付与します |
| 観測された主張 | プラットフォームが証明するのは、公式ソースが既知の時点でどのような状態であると 観測されたか です。上流データが意味的に正しいとは主張しません |
| 読み取り専用かつ適法 | 公開されている、認証が必要なソースのみを使用します。回避行為は一切行わず、レート制限を適用し、ソースに対して自身を明示します |
| 検証 | 鮮度が保たれた日付のデータは Rekor による証明を受けます。署名付きエンベロープ、Git の信頼できる情報源としての記録、公開ログへの記録を、誰でも確認できます |
AI エージェントを接続する
DataPulse は、エージェントがカタログにネイティブに問い合わせられるよう、AI 対応の読み取り専用 MCP サーバーを公開しています。人間のレビュアーが利用できるものと同じ鮮度、ライセンス、スキーマ変更、来歴の証拠を提供します。
-
エンドポイント:
https://mcp.data-pulse.my/mcp(Streamable HTTP、認証なし) mcpgrade による評価 —bash scripts/audit_mcpgrade.shで再実行できます(バージョン固定、artifacts/mcpgrade/に書き込みます)。正式なツール数はmcp.jsonに記載されています。 -
19 個のツール:
search_datasets、get_dataset、get_data_passport、find_stale、find_anomalies、find_deteriorating、find_recovering、find_unreliable、find_schema_drift、check_reconciliation、get_provenance、get_evidence、verify_dataset、get_freshness_summary、verify_evidence、trust_verdict、verify_attestation、find_by_licence、usage_summary
公開エンドポイントでは、440 件のデータセットカタログ全体を対象に、読み取り専用の19個のツールをすべて利用できます。
get_evidence はパイプラインの受領記録を公開します。verify_evidence はキャッシュされたトランスポートのみのライブチェックを実行し、健全性は更新しません。
詳細なディスカバリーインデックスについては llms.txt を、デプロイアーキテクチャについては docs/mcp-deploy.md を参照してください。
claude_desktop_config.json を使って Claude Desktop に接続できます(30秒、API キー不要):
{
"mcpServers": {
"datapulse-my": {
"type": "http",
"url": "https://mcp.data-pulse.my/mcp"
}
}
}
Claude Desktop を再起動し、ハンマーアイコンに「datapulse-my」と上記の読み取り専用ツールが表示されることを確認してください。Cursor / Cline では、同じ JSON を MCP 設定パネルに使用します。
収録データセット
45 の公開元が提供する公式データセット440件を収録しており、GTFS の交通フィードを30件含みます。平易な言葉で書かれた健全性評価については公開レポートをご覧ください。すべてのソース、ライセンス、健全性レポートのパス、宣言された更新頻度をまとめた機械可読インデックスとしては datapulse.json をご利用ください。
現在のカバレッジ
宣言されている更新頻度:年次(145);月次(106);必要に応じて(57);日次(49);四半期ごと(35);2~3年ごと(調査年)(22);30秒ごと(14);毎時(4);平日の日次(2);週次(2);平日の日次、0900 MYT(1);平日の日次、1130 MYT(1);平日の日次、1200 MYT(1);平日の日次、1700 MYT(1)。データセットごとの更新頻度は、datapulse.json および公開されている各ヘルスレポートで引き続き確認できます。
使用方法
まず datapulse.json でデータセットとその公式ソースを確認します。
各 health_report リンクから、平易な言葉で記載された評価を確認してください。GTFS 以外のデータセットには、data/json/ に対応する機械可読なレポートエンベロープもあります。30 個の GTFS 交通フィードには意図的に用意されておらず、代わりにヘルスレポートと GTFS サンプルを公開しています。
たとえば、データパイプラインではソースを処理する前に status、content_freshness_date、freshness_signal_source を確認できます。一方、研究者は収集方法を設計する前に、既知の特性を確認できます。
外部検証
クローンを作成せずに、公開されている Ed25519 データセットエンベロープ、GitHub ソースとの一致、および Rekor/Sigstore ヘルス証跡を独立して確認するには、 DataPulse を外部から検証するをご覧ください。
このカタログのすべてのデータセットには、エージェントが DataPulse サーバーを信頼することなくオフラインで検証できる、公開署名付き Sigstore
DSSE 証拠レシートが付属しています。エージェント(人間または MCP)は、どのデータセットについても、完全なヘルス行+証拠+署名付きレシートの検証を、MCP ツールの呼び出し 3 回以内で取得できます:verify_dataset → get_freshness_summary。標準的なオフライン手順は、上記の verify_external.py コマンドです。
ポートフォリオ全体のヘルスバンドルを検証するには、
/signatures/health.latest.sigstore.json を、対応する正確なマニフェスト
/signatures/datapulse.json を使って検証してください。この署名付きマニフェストのスナップショットは、現在の検出用マニフェストである /datapulse.json とは別のものです。後者は、生成されたメタデータが更新されると変更されることがあります。有効な署名が証明するのは、DataPulse が証明対象とした観測の完全性であり、上流データが意味的に正しいことではありません。更新のたびに、署名付きバンドルが公開 Rekor ログに公開されます。
モニタリング
- VPS の
datapulse-health.timerは 5 分ごとに起動し、更新時期が来た頻度区分のデータセットのみを実行します。 - GitHub Actions はフォールバックとして週 1 回の完全なプローブを実行し、生成されたヘルス情報、バッジ、フィード、README、カタログスナップショット、差分アーティファクトを再公開します。
- RSS フィード — 利用可能です。
- ステータスバッジ — 利用可能です。
- さらなるデータセット — 予定されています。
データセットを採用する
信頼できるヘルスメタデータを整備する価値のある、マレーシアの公開データセットをご存じですか? 採用しましょう。ソースとライセンスを確認し、スキーマと特性を記録して、ヘルスレポートを提出してください。期待される 3 ファイルの貢献モデルについては、CONTRIBUTING.md をご覧ください。
新しいコントリビューターは、リポジトリの
Good first issues
から始めるか、GitHub の Issue フォームからデータセットを提案できます。メンテナーは、貢献の振り分けに good first issue(黄色)、adopt-a-dataset(青)、freshness-check(青)、bug(赤)、documentation(青)、question(紫)、wontfix(灰色)を使用します。
ライセンス
DataPulse は MIT License のもとで公開されています。ソースデータセットには、各ヘルスレポートに記載されたライセンスと帰属表示の要件が引き続き適用されます。
プライバシー
DataPulse が収集する情報(レート制限と利用状況の集計に使う一時的な運用ログ)と、収集しない情報(認証情報、アカウント、個人データ)については、PRIVACY.md をご覧ください。
法的事項
DataPulse は、一般公開されているオープンデータソースを調査します。認証、CAPTCHA、または利用規約による制限を回避することはありません。調査対象のソースはすべてログイン不要で一般公開されており、データは集計済みで個人情報を含まず、調査は各データセットに定められた更新頻度を尊重します。
すべてのスクレイピングはレート制限(5 分間隔、データセットの階層に応じた間隔を適用)を設け、User-Agent で身元を明示します。認証、CAPTCHA の回避、または ToS 違反なしでは調査できないソースには、unreachable または browser-dependent のマークを付けます。回避策を使ってひそかにスクレイピングすることはありません。
データソースのメンテナーで、DataPulse の調査間隔の変更、データセットの除外、またはマニフェストからの削除をご希望の場合は、GitHub issue を作成するか、メンテナーにお問い合わせください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。